<?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>e r i k i m h   d o t   c o m</title>
	<atom:link href="http://erikimh.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://erikimh.com</link>
	<description>inside the mind of a linux system administrator</description>
	<lastBuildDate>Wed, 25 Apr 2012 16:46:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Mozilla Firefox 12 released, upgrade your Ubuntu today &#8220;unofficially&#8221;</title>
		<link>http://erikimh.com/mozilla-firefox-12-released-upgrade-your-ubuntu-today-unofficially/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://erikimh.com/mozilla-firefox-12-released-upgrade-your-ubuntu-today-unofficially/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 16:46:07 +0000</pubDate>
		<dc:creator>kire</dc:creator>
				<category><![CDATA[firefox plugins]]></category>
		<category><![CDATA[ubuntu linux]]></category>

		<guid isPermaLink="false">http://erikimh.com/?p=648</guid>
		<description><![CDATA[Mozilla Firefox 12 has not yet been released, it is in Beta state at the moment, but it will bring features such as the ability to paste URLs in the download manager window, line numbers for the Page Source viewer, the title attribute supports line breaks, Find in Page improvemens to center search results, added [...]
Related posts:<ol>
<li><a href='http://erikimh.com/firefox-9-released-how-to-install-on-ubuntu/' rel='bookmark' title='Firefox 9 Released &#8211; How to install on Ubuntu'>Firefox 9 Released &#8211; How to install on Ubuntu</a> <small>Firefox 9 is now available — but unlike its previous...</small></li>
<li><a href='http://erikimh.com/howto-install-firefox-6-on-ubuntu-via-ppa/' rel='bookmark' title='Howto: Install Firefox 6 on Ubuntu via PPA'>Howto: Install Firefox 6 on Ubuntu via PPA</a> <small>I just upgraded to Firefox 6 on Ubuntu. The new...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Mozilla Firefox 12 has not yet been released, it is in Beta state at the moment, but it will bring features such as the ability to paste URLs in the download manager window, line numbers for the Page Source viewer, the title attribute supports line breaks, Find in Page improvemens to center search results, added column-fill CSS property, added support for the text-align-last CSS property, added experimental support for ECMAScript 6 Map and Set objects.</p>
<p>This is also an important release for Ubuntu users, because it will be the default web browser for the upcoming Ubuntu 12.04 LTS distribution and users should get used to it. And because there will be no other Firefox version until June.</p>
<p>Mozilla Firefox 12.0 can be installed in the following Ubuntu operating systems: Ubuntu 12.04 LTS (Precise Pangolin), Ubuntu 11.10 (Oneiric Ocelot), Ubuntu 11.04 (Natty Narwhal) and Ubuntu 10.04 LTS (Lucid Lynx).</p>
<p>To install Mozilla Firefox 12.0 on your system follow the next step-by-step (with screenshots) tutorial.</p>
<p><strong>Step 1 &#8211; Add the Firefox 12.0 repository</strong></p>
<p>No matter what Ubuntu operating system (see above supported OSes) you are running, open a terminal and paste the following command:</p>
<blockquote><p>sudo add-apt-repository ppa:mozillateam/firefox-next</p></blockquote>
<p>Hit the Enter key, type your password when asked and hit the Enter key. Hit Enter again when asked.</p>
<p>Don&#8217;t close the terminal window! Proceed to the next step.</p>
<p><strong>Step 2 &#8211; Install Firefox 12.0 on Ubuntu</strong></p>
<p>Now paste the following command in the same terminal window:</p>
<blockquote><p>sudo apt-get update &#038;&#038; sudo apt-get install -y firefox</p></blockquote>
<p>Your current Firefox installation will be overwritten. Wait for the installation to finish and close the terminal window.</p>
<p><strong>That&#8217;s it! </strong>The new Mozilla Firefox 12.0 is now fully installed in your Ubuntu machine. You&#8217;ll need to restart Firefox for the changes to take effect.</p>
<p>In time, your Mozilla Firefox web browser will automatically upgrade to newer versions, so make sure you update your system regularly.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://erikimh.com/mozilla-firefox-12-released-upgrade-your-ubuntu-today-unofficially/" target="_blank"><img src="http://erikimh.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a><a href="http://www.facebook.com/share.php?u=http://erikimh.com/mozilla-firefox-12-released-upgrade-your-ubuntu-today-unofficially/" target="_blank" title="Share on Facebook">Share on Facebook</a></p><p>&copy;2012 <a href="http://erikimh.com">e r i k i m h   d o t   c o m</a>. All Rights Reserved.</p>.<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikimh.com/mozilla-firefox-12-released-upgrade-your-ubuntu-today-unofficially/" data-text="Mozilla Firefox 12 released, upgrade your Ubuntu today \"unofficially\"" data-count="horizontal">Tweet</a><p>Related posts:<ol>
<li><a href='http://erikimh.com/firefox-9-released-how-to-install-on-ubuntu/' rel='bookmark' title='Firefox 9 Released &#8211; How to install on Ubuntu'>Firefox 9 Released &#8211; How to install on Ubuntu</a> <small>Firefox 9 is now available — but unlike its previous...</small></li>
<li><a href='http://erikimh.com/howto-install-firefox-6-on-ubuntu-via-ppa/' rel='bookmark' title='Howto: Install Firefox 6 on Ubuntu via PPA'>Howto: Install Firefox 6 on Ubuntu via PPA</a> <small>I just upgraded to Firefox 6 on Ubuntu. The new...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://erikimh.com/mozilla-firefox-12-released-upgrade-your-ubuntu-today-unofficially/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Validating Package Consistency by md5sum for Linux</title>
		<link>http://erikimh.com/validating-package-consistency-by-md5sum-for-linux/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://erikimh.com/validating-package-consistency-by-md5sum-for-linux/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 03:43:42 +0000</pubDate>
		<dc:creator>kire</dc:creator>
				<category><![CDATA[linux administration - tips, notes and projects]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://erikimh.com/?p=644</guid>
		<description><![CDATA[Occasionally you just want a bit of piece of mind about your server or Linux install. You may suspect there is somebody who has hacked your server or even something changed by a package install that shouldn&#8217;t have been. Heres a couple of ideas on how to do a quick ‘health’ check on he md5sum [...]
No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Occasionally you just want a bit of piece of mind about your server or Linux install. You may suspect there is somebody who has hacked your server or even something changed by a package install that shouldn&#8217;t have been. Heres a couple of ideas on how to do a quick ‘health’ check on he md5sum of binary packages.</p>
<p><H2>Debian based people should install dlocate and use that</H2></p>
<blockquote><p>apt-get install dlocate<br />
dlocate -md5check openssh-server</p></blockquote>
<p>To force a fail try something like this:</p>
<blockquote><p>mv /usr/share/man/man5/sshd_config.5.gz /usr/share/man/man5/sshd_config.5.gz-old<br />
echo Boo > /usr/share/man/man5/sshd_config.5.gz<br />
dlocate -md5check openssh-server</p></blockquote>
<p><H2>For Redhat/Centos etc based servers you can use yum</h2>
<blockquote><p> rpm -qvV openssh</p></blockquote>
<p>Again you can force a fail by changing a file</p>
<blockquote><p>mv /usr/share/doc/openssh-4.3p2/CREDITS /usr/share/doc/openssh-4.3p2/CREDITS-old<br />
echo Boo >/usr/share/doc/openssh-4.3p2/CREDITS<br />
rpm -qvV openssh
</p></blockquote>
<p>For less verbosity just drop the lower case v (so its rpm -qV )</p>
<p><strong>What does this output tell you?</strong></p>
<p>If any file in the package has changed, there will be a list of 9 items. A &#8220;dot&#8221; means no change.  A &#8220;dot&#8221; replaced by a letter has these meanings:</p>
<blockquote><p>S file Size differs<br />
M Mode differs (includes permissions and file type)<br />
5 MD5 sum differs<br />
D Device major/minor number mismatch<br />
L readLink(2) path mismatch<br />
U User ownership differs<br />
G Group ownership differs<br />
T mTime differs<br />
P caPabilities differ</p></blockquote>
<p>If you get any file flagged with a &#8220;5&#8243;, it will almost certainly also have a &#8220;T&#8221; and &#8220;S&#8221; flag as well.</p>
<p><SMALL>Credits: Courtesy of New Zealand Linux and fedoraforum.org</SMALL></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://erikimh.com/validating-package-consistency-by-md5sum-for-linux/" target="_blank"><img src="http://erikimh.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a><a href="http://www.facebook.com/share.php?u=http://erikimh.com/validating-package-consistency-by-md5sum-for-linux/" target="_blank" title="Share on Facebook">Share on Facebook</a></p><p>&copy;2012 <a href="http://erikimh.com">e r i k i m h   d o t   c o m</a>. All Rights Reserved.</p>.<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikimh.com/validating-package-consistency-by-md5sum-for-linux/" data-text="Validating Package Consistency by md5sum for Linux" data-count="horizontal">Tweet</a><p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://erikimh.com/validating-package-consistency-by-md5sum-for-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Protip: How to make a patch file</title>
		<link>http://erikimh.com/linux-protip-how-to-make-a-patch-file/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://erikimh.com/linux-protip-how-to-make-a-patch-file/#comments</comments>
		<pubDate>Sat, 18 Feb 2012 00:34:34 +0000</pubDate>
		<dc:creator>kire</dc:creator>
				<category><![CDATA[linux administration - tips, notes and projects]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://erikimh.com/?p=636</guid>
		<description><![CDATA[I&#8217;ve been doing Linux system administration for well over ten years, and I&#8217;ve used patch files often. I&#8217;ve never actually had the need to create one until today. To my surprise, I discovered how blatantly simple and easy it is. I&#8217;ve always assumed it was some sort of black magic involving unicorns and rainbows. Sure, [...]
Related posts:<ol>
<li><a href='http://erikimh.com/creating-a-patch-file-from-git/' rel='bookmark' title='creating a patch file from git'>creating a patch file from git</a> <small>I&#8217;m a huge fan of the oldschool &#8220;patch&#8221; command, and...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing Linux system administration for well over ten years, and I&#8217;ve used patch files often.  I&#8217;ve never actually had the need to create one until today.  To my surprise, I discovered how blatantly simple and easy it is.   I&#8217;ve always assumed it was some sort of black magic involving unicorns and rainbows.  Sure, there are more complex ways to do this but for most needs this will work for you.</p>
<p><H2>Whats a patch?</H2></p>
<p>A patch is the best and easiest way to submit changes back to an open source project. It’s a summary of changes you made to file or files formatted in a way that can easily be used by the excellent program, named, unsurprisingly, ‘patch’. Now because patch was written by the inestimable Larry Wall, patches can come in a wide range of shapes, sizes, and formats, and they will apply with a high degree of “do what I mean”-ness. However, there are some tips to produce high quality patches.</p>
<p><H2>Creating a patch file</H2></p>
<blockquote><p>diff -Naur old new > patch_file</p></blockquote>
<p>Yeah, seriously.  That&#8217;s it.</p>
<p>Now you&#8217;ve got a working .patch file that you can use to apply the changes between &#8216;old&#8217; and &#8216;new&#8217; anytime, on any machine, anywhere.  It automatically determines the <strong>diff</strong>erence and the lines that changed.  After it builds the patch file, it must be applied to identical code it was built from.</p>
<p>This is very useful when you need to change working code uniformly. </p>
<p><H2>Applying a patch file</H2><br />
The following usage is most commonly used method to apply a patch:</p>
<p><code>$ patch -p1 <  {/path/to/patch/file}</code></p>
<p>To apply a patch, one could run the following command in a shell:<br /> <code>$ patch < /path/to/file</code></p>
<p>Patches can be undone, or reversed, with the '-R' option:<br /> <code>$ patch -R < /path/to/file</code></p>
<p>Above 3 are basic usage read the man page of patch command for more information and usage:<br /> <code>% man patch</code></p>
<p>Cheers!</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://erikimh.com/linux-protip-how-to-make-a-patch-file/" target="_blank"><img src="http://erikimh.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a><a href="http://www.facebook.com/share.php?u=http://erikimh.com/linux-protip-how-to-make-a-patch-file/" target="_blank" title="Share on Facebook">Share on Facebook</a></p><p>&copy;2012 <a href="http://erikimh.com">e r i k i m h   d o t   c o m</a>. All Rights Reserved.</p>.<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikimh.com/linux-protip-how-to-make-a-patch-file/" data-text="Linux Protip: How to make a patch file" data-count="horizontal">Tweet</a><p>Related posts:<ol>
<li><a href='http://erikimh.com/creating-a-patch-file-from-git/' rel='bookmark' title='creating a patch file from git'>creating a patch file from git</a> <small>I&#8217;m a huge fan of the oldschool &#8220;patch&#8221; command, and...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://erikimh.com/linux-protip-how-to-make-a-patch-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>unhackable.org offers legacy KSplice protection</title>
		<link>http://erikimh.com/unhackable-security-offers-legacy-ksplice-protection/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://erikimh.com/unhackable-security-offers-legacy-ksplice-protection/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 04:35:51 +0000</pubDate>
		<dc:creator>kire</dc:creator>
				<category><![CDATA[linux administration - tips, notes and projects]]></category>

		<guid isPermaLink="false">http://erikimh.com/?p=629</guid>
		<description><![CDATA[Unhackable Security is a Linux security consulting firm specializing in a wide array of technologies and proven practices which make your server virtually unhackable. Ksplice is an extension of the Linux kernel which allows system administrators to apply security patches to a running kernel without having to reboot the operating system. Ksplice takes as input [...]
No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Unhackable Security is a Linux security consulting firm specializing in a wide array of technologies and proven practices which make your server virtually unhackable. </p>
<p>Ksplice is an extension of the Linux kernel which allows system administrators to apply security patches to a running kernel without having to reboot the operating system. Ksplice takes as input a unified diff and the original kernel source code, and it updates the running kernel in memory.</p>
<p>Last year Oracle went on an acquisition spree, and jumped on the opportunity to buy out KSplice&#8217;s technology. That’s great for their distribution, but not for the rest of the Linux community who already have a Linux version preference and have built dependencies around it.</p>
<p>Unhackable Security is authorized to purchase an unlimited amount of KSplice licenses under a legacy agreement established prior to the acquisition. This allows us the unique ability to be able to offer clients KSplice protection for ALL of your servers that run virtually any of the originally supported Linux versions.</p>
<p>For more information, visit <a href="http://unhackable.org/?page_id=6" title="unhackable.org" target="_blank">Unhackable Security</a>&#8216;s website. </p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://erikimh.com/unhackable-security-offers-legacy-ksplice-protection/" target="_blank"><img src="http://erikimh.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a><a href="http://www.facebook.com/share.php?u=http://erikimh.com/unhackable-security-offers-legacy-ksplice-protection/" target="_blank" title="Share on Facebook">Share on Facebook</a></p><p>&copy;2012 <a href="http://erikimh.com">e r i k i m h   d o t   c o m</a>. All Rights Reserved.</p>.<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikimh.com/unhackable-security-offers-legacy-ksplice-protection/" data-text="unhackable.org offers legacy KSplice protection" data-count="horizontal">Tweet</a><p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://erikimh.com/unhackable-security-offers-legacy-ksplice-protection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox 9 Released &#8211; How to install on Ubuntu</title>
		<link>http://erikimh.com/firefox-9-released-how-to-install-on-ubuntu/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://erikimh.com/firefox-9-released-how-to-install-on-ubuntu/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 18:26:39 +0000</pubDate>
		<dc:creator>kire</dc:creator>
				<category><![CDATA[firefox plugins]]></category>
		<category><![CDATA[linux administration - tips, notes and projects]]></category>

		<guid isPermaLink="false">http://erikimh.com/?p=622</guid>
		<description><![CDATA[Firefox 9 is now available — but unlike its previous rapid release forebears where not a lot changed, a huge feature has landed with the new version: the JavaScript engine now has type inference enabled. This simple switch has resulted in a 20-30% JS execution speed increase (PDF), putting JaegerMonkey back in line with Chrome&#8217;s [...]
Related posts:<ol>
<li><a href='http://erikimh.com/howto-install-firefox-6-on-ubuntu-via-ppa/' rel='bookmark' title='Howto: Install Firefox 6 on Ubuntu via PPA'>Howto: Install Firefox 6 on Ubuntu via PPA</a> <small>I just upgraded to Firefox 6 on Ubuntu. The new...</small></li>
<li><a href='http://erikimh.com/unity-sucks-install-gnome-3-on-ubuntu-11-04/' rel='bookmark' title='Unity sucks: Install Gnome 3 on Ubuntu 11.04'>Unity sucks: Install Gnome 3 on Ubuntu 11.04</a> <small>As you&#8217;re probably aware, the latest Ubuntu version looks very...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Firefox 9 is now available — but unlike its previous rapid release forebears where not a lot changed, a huge feature has landed with the new version: the JavaScript engine now has type inference enabled. This simple switch has resulted in a 20-30% JS execution speed increase (PDF), putting JaegerMonkey back in line with Chrome&#8217;s V8 engine, and even pulling ahead in some cases. If you switched away from Firefox to IE or Chrome for improved JS performance, now is probably the time to give Firefox another shot.</p>
<p><H3>Repositories:</H3></p>
<p>Official 64-bit and 32-bit Mozilla Firefox 9.0 packages are now available for the following Ubuntu distributions:</p>
<ul>
<li> Ubuntu 11.10 (Oneiric Ocelot)</li>
<li>Ubuntu 11.04 (Natty Narwhal)</li>
</ul>
<p><H3>Installing Mozilla Firefox 9.0:</H3></p>
<blockquote><p>
  $  sudo add-apt-repository ppa:mozillateam/firefox-next<br />
  $  sudo apt-get update<br />
  $  sudo apt-get install firefox
</p></blockquote>
<p><H3>References: </H3></p>
<ul>
<li><a href="http://developers.slashdot.org/story/11/12/20/0032250/firefox-9-released-javascript-performance-greatly-improved?utm_source=slashdot&#038;utm_medium=twitter" title="Slashdot" target="_blank">Slashdot</a></li>
<li><a href="http://news.softpedia.com/news/How-to-Install-Firefox-9-in-Ubuntu-11-10-and-11-04-235482.shtml" title="Softpedia" target="_blank">Softpedia</a></li>
</ul>
<p></a></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://erikimh.com/firefox-9-released-how-to-install-on-ubuntu/" target="_blank"><img src="http://erikimh.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a><a href="http://www.facebook.com/share.php?u=http://erikimh.com/firefox-9-released-how-to-install-on-ubuntu/" target="_blank" title="Share on Facebook">Share on Facebook</a></p><p>&copy;2012 <a href="http://erikimh.com">e r i k i m h   d o t   c o m</a>. All Rights Reserved.</p>.<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikimh.com/firefox-9-released-how-to-install-on-ubuntu/" data-text="Firefox 9 Released - How to install on Ubuntu" data-count="horizontal">Tweet</a><p>Related posts:<ol>
<li><a href='http://erikimh.com/howto-install-firefox-6-on-ubuntu-via-ppa/' rel='bookmark' title='Howto: Install Firefox 6 on Ubuntu via PPA'>Howto: Install Firefox 6 on Ubuntu via PPA</a> <small>I just upgraded to Firefox 6 on Ubuntu. The new...</small></li>
<li><a href='http://erikimh.com/unity-sucks-install-gnome-3-on-ubuntu-11-04/' rel='bookmark' title='Unity sucks: Install Gnome 3 on Ubuntu 11.04'>Unity sucks: Install Gnome 3 on Ubuntu 11.04</a> <small>As you&#8217;re probably aware, the latest Ubuntu version looks very...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://erikimh.com/firefox-9-released-how-to-install-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Writing Python code to use MySQL</title>
		<link>http://erikimh.com/writing-python-code-to-use-mysql-writing-python-code-to-use-mysql/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://erikimh.com/writing-python-code-to-use-mysql-writing-python-code-to-use-mysql/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 02:33:47 +0000</pubDate>
		<dc:creator>kire</dc:creator>
				<category><![CDATA[linux administration - tips, notes and projects]]></category>

		<guid isPermaLink="false">http://erikimh.com/?p=616</guid>
		<description><![CDATA[Python is a programming language that lets you work more quickly and integrate your systems more effectively. I&#8217;ve been programming primarily in Python lately, and had the need to open a socket to a MySQL database to pull data. By default, older versions of Python does not currently have a mySQL library that can easily [...]
Related posts:<ol>
<li><a href='http://erikimh.com/find-the-fastest-dns-resolver-near-you/' rel='bookmark' title='Find the fastest DNS resolver near you'>Find the fastest DNS resolver near you</a> <small>I recently stumbled upon an awesome tool called Namebench. Namebench...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Python is a programming language that lets you work more quickly and integrate your systems more effectively. </p>
<p>I&#8217;ve been programming primarily in Python lately, and had the need to open a socket to a MySQL database to pull data. By default, older versions of Python does not currently have a mySQL library that can easily interact with MySQL databases.  Rather than upgrading Python and possibly breaking your existing scripts, this article will teach you how to open a MySQL socket using MySQLdb from the DB-API.</p>
<p>DB-API&#8217;s design is similar to that used by Perl and Ruby DBI modules, the PHP PEAR DB class, and the Java JDBC interface: It uses a two-level architecture in which the top level provides an abstract interface that is similar for all supported database engines, and a lower level consisting of drivers for specific engines that handle engine-dependent details. This means, of course, that to use DB-API for writing Python scripts, you must have a driver for your particular database system. For MySQL, DB-API provides database access by means of the MySQLdb driver.</p>
<p><H2>Install setuptools</H2></p>
<p>First, we&#8217;ll need to install Python &#8220;setuptools&#8221; which allows us to easy install Python libraries.  (official site: <A HREF="http://pypi.python.org/pypi/setuptools">http://pypi.python.org/pypi/setuptools</A>)</p>
<p>Install it with a package manager, or download the source from the official site.</p>
<p>RHEL/CentOS:</p>
<blockquote><p>yum install python-setuptools</p></blockquote>
<p>Debian/Ubuntu:</p>
<blockquote><p>apt-get install python-setuptools</p></blockquote>
<p><H2>Install MySQLdb from DB-API</H2></p>
<p><a href="http://sourceforge.net/projects/mysql-python/files/latest/download" title="download">Download </a> the latest version of MySQL-python from sourceforge.</p>
<p>Note: you must have mysql header libraries installed on the server you wish to install the library (these can be found in the &#8216;mysql-devel&#8217; packages on most distributions)</p>
<p>Now unpack it on your server:</p>
<blockquote><p>  $ tar xfz MySQL-python-1.2.1.tar.gz<br />
  $ cd MySQL-python-1.2.1
</p></blockquote>
<p>You can edit site.cfg if necessary for your environment, but it is not required.</p>
<blockquote><p>$ python setup.py build<br />
  $ sudo python setup.py install  (or su first)
</p></blockquote>
<p><H2>Import the library in your code</H2></p>
<p>Now, all you need to do is &#8220;import MySQLdb&#8221; and open a connection:</p>
<p>This very simply Python script written by Paul DuBois (paul@kitebird.com) can be used as an example to open a MySQL connection and print the server&#8217;s version:</p>
<blockquote><p>
conn = MySQLdb.connect (host = &#8220;localhost&#8221;,<br />
                           user = &#8220;testuser&#8221;,<br />
                           passwd = &#8220;testpass&#8221;,<br />
                           db = &#8220;test&#8221;)<br />
   cursor = conn.cursor ()<br />
   cursor.execute (&#8220;SELECT VERSION()&#8221;)<br />
   row = cursor.fetchone ()<br />
   print &#8220;server version:&#8221;, row[0]<br />
   cursor.close ()<br />
   conn.close ()
</p></blockquote>
<p>If you wanted to add in error handling for failures, you could wrap the connection<br />
in a try: statement and then do something like this:</p>
<blockquote><p>   except MySQLdb.Error, e:<br />
     print &#8220;Error %d: %s&#8221; % (e.args[0], e.args[1])<br />
     sys.exit (1)
</p></blockquote>
<p><H2>Query execution examples</H2></p>
<p>Executing queries is very simple in MySQL Python. All you need to do is take your cursor object and call the &#8216;execute&#8217; function. The execute function requires one parameter, the query. If the query contains any substitutions then a second parameter, a tuple, containing the values to substitute must be given. </p>
<h3>Example 1: Create Table</h3>
<blockquote><p>
cur.execute(&#8220;CREATE TABLE song ( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, title TEXT NOT NULL )&#8221;)<br />
In this example you can see how a basic query without any parameters is executed.
</p></blockquote>
<p><H3>Example 2: Execute Insert / Single Substitution Query</H3></p>
<blockquote><p>
songs = (&#8216;Purple Haze&#8217;, &#8216;All Along the Watch Tower&#8217;, &#8216;Foxy Lady&#8217;)<br />
for song in songs:<br />
    cur.execute(&#8220;INSERT INTO song (title) VALUES (%s)&#8221;, song)<br />
    print &#8220;Auto Increment ID: %s&#8221; % cur.lastrowid
</p></blockquote>
<p>In this example, you can see how a query is executed with parameters and you can see how to get the id generated from an auto increment column.</p>
<p><H3>Example 3: Multiple Substitution Query</H3></p>
<blockquote><p>
cur.execute(&#8220;SELECT * FROM song WHERE id = %s or id = %s&#8221;, (1,2))
</p></blockquote>
<p>It is important to note that when there are multiple parameters to substitue, you must use a tuple to enclose all of the parameters that need to be passed. The parameters are then substituted from left to right with tupe[0] being the left most substitution and tuple[n] being the right most substitution.</p>
<p><H3>Example 4: Execute Select</H3></p>
<blockquote><p>
numrows = cur.execute(&#8220;SELECT * FROM song&#8221;)<br />
print &#8220;Selected %s rows&#8221; % numrows<br />
print &#8220;Selected %s rows&#8221; % cur.rowcount
</p></blockquote>
<p>From this you can see that executing select queries is very easy. There are two ways you can get the number of rows the query returned. The MySQLdb specific way is to save the return value from the execute statement. This is NOT the preferred way. You should use the second method which is the Python DB-API 2.0 way because it will make it easier if you ever have to change databases. Both method&#8217;s are illustrated in this example.</p>
<p><H3>This is too complicated for me</H3><br />
Well, maybe you shouldn&#8217;t be coding in Python then.  If you want the easy way out, install the latest version of Python which comes with MySQL support out of the box.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://erikimh.com/writing-python-code-to-use-mysql-writing-python-code-to-use-mysql/" target="_blank"><img src="http://erikimh.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a><a href="http://www.facebook.com/share.php?u=http://erikimh.com/writing-python-code-to-use-mysql-writing-python-code-to-use-mysql/" target="_blank" title="Share on Facebook">Share on Facebook</a></p><p>&copy;2012 <a href="http://erikimh.com">e r i k i m h   d o t   c o m</a>. All Rights Reserved.</p>.<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikimh.com/writing-python-code-to-use-mysql-writing-python-code-to-use-mysql/" data-text="Writing Python code to use MySQL" data-count="horizontal">Tweet</a><p>Related posts:<ol>
<li><a href='http://erikimh.com/find-the-fastest-dns-resolver-near-you/' rel='bookmark' title='Find the fastest DNS resolver near you'>Find the fastest DNS resolver near you</a> <small>I recently stumbled upon an awesome tool called Namebench. Namebench...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://erikimh.com/writing-python-code-to-use-mysql-writing-python-code-to-use-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Find the fastest DNS resolver near you</title>
		<link>http://erikimh.com/find-the-fastest-dns-resolver-near-you/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://erikimh.com/find-the-fastest-dns-resolver-near-you/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 03:25:40 +0000</pubDate>
		<dc:creator>kire</dc:creator>
				<category><![CDATA[linux administration - tips, notes and projects]]></category>

		<guid isPermaLink="false">http://erikimh.com/?p=609</guid>
		<description><![CDATA[I recently stumbled upon an awesome tool called Namebench. Namebench it’s a small program wrote in python that search for the fastest DNS server near to you. Namebench runs benchmarks using your web browser history, tcpdump output, or standardized datasets in order to provide an individualized recommendation. Namebench is completely free and does not modify [...]
No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I recently stumbled upon an awesome tool called Namebench.  Namebench it’s a small program wrote in python that search for the fastest DNS server near to you.  Namebench runs benchmarks using your web browser history, tcpdump output, or standardized datasets in order to provide an individualized recommendation. Namebench is completely free and does not modify your system in any way.  It&#8217;s currently a &#8220;Google&#8221; project.</p>
<p>The source are available on the official site, as wrote this is a python program so you should be able to run it from the command line without any additional package, if you want also the GUI you need also the package python-tk, this is usually available in all the main repositories of the principal distributions.</p>
<p>On Ubuntu 11.04, you can easily install it with:</p>
<blockquote><p>$ sudo aptitude install namebench<br />
The following NEW packages will be installed:<br />
  blt{a} namebench python-dnspython{a} python-graphy{a} python-jinja2{a} python-tk{a} tk8.5{a}<br />
0 packages upgraded, 7 newly installed, 0 to remove and 0 not upgraded.<br />
Need to get 3,234 kB of archives. After unpacking 11.1 MB will be used.</p></blockquote>
<p>Run it from any command line or with a launcher.  The nameservers field will already be populated with your current DNS servers taken from your resolv.conf.</p>
<p>In Query Data Source you can choose where to take the DNS names to be tested, from your browser history, Top 2000 Alexa sites or do other latency tests.</p>
<p>Once you have selected your options just click on Start Benchmark and wait, it took around 10 minutes on my computer to run all the the tests.  For geeks, you&#8217;ll want to run this in a terminal and watch the output.  At the end you’ll have a page with all the results and some nice graphs, but you are just interested at the information at the top.  On the left you can see an estimation of how much you can gain in using the DNS server listed on the right side.</p>
<p><strong>Now, modify your configuration&#8230;  </strong></p>
<p>Now that you know which DNS server to use you just need to change your resolv configuration file.  On a terminal, simply edit /etc/resolv.conf.</p>
<p>In this file put the same IP addresses that tested best in the results of your benchmark, something like:</p>
<p>nameserver 127.0.0.1<br />
nameserver 8.8.8.8<br />
nameserver 4.2.2.1</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://erikimh.com/find-the-fastest-dns-resolver-near-you/" target="_blank"><img src="http://erikimh.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a><a href="http://www.facebook.com/share.php?u=http://erikimh.com/find-the-fastest-dns-resolver-near-you/" target="_blank" title="Share on Facebook">Share on Facebook</a></p><p>&copy;2012 <a href="http://erikimh.com">e r i k i m h   d o t   c o m</a>. All Rights Reserved.</p>.<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikimh.com/find-the-fastest-dns-resolver-near-you/" data-text="Find the fastest DNS resolver near you" data-count="horizontal">Tweet</a><p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://erikimh.com/find-the-fastest-dns-resolver-near-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>creating a patch file from git</title>
		<link>http://erikimh.com/creating-a-patch-file-from-git/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://erikimh.com/creating-a-patch-file-from-git/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 16:06:44 +0000</pubDate>
		<dc:creator>kire</dc:creator>
				<category><![CDATA[linux administration - tips, notes and projects]]></category>

		<guid isPermaLink="false">http://erikimh.com/?p=606</guid>
		<description><![CDATA[I&#8217;m a huge fan of the oldschool &#8220;patch&#8221; command, and sometimes in the wild I use Gitorious&#8217; &#8220;raw diff&#8221; view which puts the changes in easy to read patch format. However, you can also do this on the command line to create a patch file that can be applied using &#8220;patch -p0 < patchfile". git [...]
No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a huge fan of the oldschool &#8220;patch&#8221; command, and sometimes in the wild I use Gitorious&#8217; &#8220;raw diff&#8221; view which puts the changes in easy to read patch format.  However, you can also do this on the command line to create a patch file that can be applied using &#8220;patch -p0 < patchfile".</p>
<blockquote><p>git diff &#8211;no-prefix > patchfile</p></blockquote>
<p>When you want to apply the patch to your old local copy:</p>
<blockquote><p><strong>patch -p0 < patchfile</strong></p></blockquote>
<p>Or, if you have an existing &#8220;git diff&#8221; patch file that was created without the &#8220;&#8211;no-prefix&#8221; option, you can apply that patch and ignore the default a/ b/ source prefixes with:</p>
<blockquote><p>patch -p1 < patchfile</p></blockquote>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://erikimh.com/creating-a-patch-file-from-git/" target="_blank"><img src="http://erikimh.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a><a href="http://www.facebook.com/share.php?u=http://erikimh.com/creating-a-patch-file-from-git/" target="_blank" title="Share on Facebook">Share on Facebook</a></p><p>&copy;2012 <a href="http://erikimh.com">e r i k i m h   d o t   c o m</a>. All Rights Reserved.</p>.<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikimh.com/creating-a-patch-file-from-git/" data-text="creating a patch file from git" data-count="horizontal">Tweet</a><p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://erikimh.com/creating-a-patch-file-from-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto: Install Firefox 6 on Ubuntu via PPA</title>
		<link>http://erikimh.com/howto-install-firefox-6-on-ubuntu-via-ppa/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://erikimh.com/howto-install-firefox-6-on-ubuntu-via-ppa/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 00:37:17 +0000</pubDate>
		<dc:creator>kire</dc:creator>
				<category><![CDATA[linux administration - tips, notes and projects]]></category>

		<guid isPermaLink="false">http://erikimh.com/?p=602</guid>
		<description><![CDATA[I just upgraded to Firefox 6 on Ubuntu. The new version doesn’t have any major interface changes but is 20% faster than Firefox 5. Startup time has also been improved especially for those like me with a lot of tabs and groups. Firefox 6 uses about 8% less resources than the older version so it [...]
Related posts:<ol>
<li><a href='http://erikimh.com/unity-sucks-install-gnome-3-on-ubuntu-11-04/' rel='bookmark' title='Unity sucks: Install Gnome 3 on Ubuntu 11.04'>Unity sucks: Install Gnome 3 on Ubuntu 11.04</a> <small>As you&#8217;re probably aware, the latest Ubuntu version looks very...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I just upgraded to Firefox 6 on Ubuntu.  The new version doesn’t have any major interface changes but is 20% faster than Firefox 5. Startup time has also been improved especially for those like me with a lot of tabs and groups. Firefox 6 uses about 8% less resources than the older version so it doesn’t torture your resources as much. Firefox 6 handles zoom better and looks a lot cleaner when you zoom in on a page.</p>
<p>It&#8217;s this easy:</p>
<blockquote><p>    * sudo add-apt-repository ppa:mozillateam/firefox-stable<br />
    * sudo apt-get update<br />
    * sudo apt-get dist-upgrade</p></blockquote>
<p>Enjoy!</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://erikimh.com/howto-install-firefox-6-on-ubuntu-via-ppa/" target="_blank"><img src="http://erikimh.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a><a href="http://www.facebook.com/share.php?u=http://erikimh.com/howto-install-firefox-6-on-ubuntu-via-ppa/" target="_blank" title="Share on Facebook">Share on Facebook</a></p><p>&copy;2012 <a href="http://erikimh.com">e r i k i m h   d o t   c o m</a>. All Rights Reserved.</p>.<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikimh.com/howto-install-firefox-6-on-ubuntu-via-ppa/" data-text="Howto: Install Firefox 6 on Ubuntu via PPA" data-count="horizontal">Tweet</a><p>Related posts:<ol>
<li><a href='http://erikimh.com/unity-sucks-install-gnome-3-on-ubuntu-11-04/' rel='bookmark' title='Unity sucks: Install Gnome 3 on Ubuntu 11.04'>Unity sucks: Install Gnome 3 on Ubuntu 11.04</a> <small>As you&#8217;re probably aware, the latest Ubuntu version looks very...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://erikimh.com/howto-install-firefox-6-on-ubuntu-via-ppa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to migrate a Virtuozzo VPS to OpenVZ</title>
		<link>http://erikimh.com/how-to-migrate-a-virtuozzo-vps-to-openvz/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://erikimh.com/how-to-migrate-a-virtuozzo-vps-to-openvz/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 03:22:10 +0000</pubDate>
		<dc:creator>kire</dc:creator>
				<category><![CDATA[linux administration - tips, notes and projects]]></category>

		<guid isPermaLink="false">http://erikimh.com/?p=595</guid>
		<description><![CDATA[To migrate from Virtuozzo VPS to OpenVZ you must “rsync” root area to private area to avoid incompatibility of OpenVZ and Virtuozzo Cache Templates. 1. Create your VPS with id 3 using your desired template (for example) # vzctl create 3 &#8211;ostemplate ubuntu-11.04-x86_64 &#8211;conf unlimited Creating container private area (ubuntu-11.04-x86_64) Performing postcreate actions Saved parameters [...]
No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>To migrate from Virtuozzo VPS to OpenVZ you must “rsync” root area to private area to avoid incompatibility of OpenVZ and Virtuozzo Cache Templates.</p>
<p><strong>1.  Create your VPS with id 3 using your desired template (for example)</strong></p>
<blockquote><p># vzctl create 3 &#8211;ostemplate ubuntu-11.04-x86_64 &#8211;conf unlimited<br />
Creating container private area (ubuntu-11.04-x86_64)<br />
Performing postcreate actions<br />
Saved parameters for CT 3<br />
Container private area was created</p></blockquote>
<p><strong>2. Start your VPS</strong></p>
<blockquote><p>
# vzctl start 3<br />
Starting VPS …<br />
VPS is mounted<br />
Setup slm memory limit<br />
Adding port redirection to VPS(1): 4643 8443<br />
VPS start in progress…</p></blockquote>
<p><strong>3. Now on Virtuozzo we have to stop and mount VPS</strong></p>
<blockquote><p># vzctl stop 3<br />
Stopping VPS …<br />
VPS was stopped<br />
VPS is unmounted</p>
<p># vzctl mount 3<br />
VPS is mounted</p></blockquote>
<p><strong>4. Now we have to make a migration of files with Rsync to OpenVZ Node</strong></p>
<blockquote><p># rsync -a -e ssh /vz/root/3 root@OpenVZ_node_IP:/vz/private/<br />
# rsync -a -e ssh /etc/sysconfig/vz-scripts/3.conf root@OpenVZ_node_IP:/etc/sysconfig/vz-scripts/</p></blockquote>
</blockquote>
<p><strong>5. On OpenVZ System,  we now start and enter on your OpenVZ node to see if migration works correctly:</p>
<blockquote><p># vzctl start 3<br />
Starting VPS …<br />
Initializing quota …<br />
VPS is mounted<br />
VPS start in progress…</p></blockquote>
<blockquote><p># vzctl enter 3<br />
entered into VPS 3</p></blockquote>
<p><strong>6. Success!</strong></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://erikimh.com/how-to-migrate-a-virtuozzo-vps-to-openvz/" target="_blank"><img src="http://erikimh.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a><a href="http://www.facebook.com/share.php?u=http://erikimh.com/how-to-migrate-a-virtuozzo-vps-to-openvz/" target="_blank" title="Share on Facebook">Share on Facebook</a></p><p>&copy;2012 <a href="http://erikimh.com">e r i k i m h   d o t   c o m</a>. All Rights Reserved.</p>.<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikimh.com/how-to-migrate-a-virtuozzo-vps-to-openvz/" data-text="How to migrate a Virtuozzo VPS to OpenVZ" data-count="horizontal">Tweet</a><p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://erikimh.com/how-to-migrate-a-virtuozzo-vps-to-openvz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

