<?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>freedom blog reloaded &#187; personal</title>
	<atom:link href="http://blog.peijnik.at/topics/personal/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.peijnik.at</link>
	<description>Stephan's Free Software blog</description>
	<lastBuildDate>Tue, 10 Nov 2009 18:04:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Blog moved&#8230;</title>
		<link>http://blog.peijnik.at/2009/11/10/blog-moved/</link>
		<comments>http://blog.peijnik.at/2009/11/10/blog-moved/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 18:04:05 +0000</pubDate>
		<dc:creator>stephan</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://blog.peijnik.at/?p=179</guid>
		<description><![CDATA[I did it again, I moved my blog. There are various reasons for doing so, but mainly to take load off of my private server.
So, my new blog can be found at http://techandsp.blogspot.com/.
]]></description>
			<content:encoded><![CDATA[<p>I did it again, I moved my blog. There are various reasons for doing so, but mainly to take load off of my private server.</p>
<p>So, my new blog can be found at <a href="http://techandsp.blogspot.com/">http://techandsp.blogspot.com/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.peijnik.at/2009/11/10/blog-moved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android, Mythbusters and openness</title>
		<link>http://blog.peijnik.at/2009/11/08/android-mythbusters-and-openness/</link>
		<comments>http://blog.peijnik.at/2009/11/08/android-mythbusters-and-openness/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 03:49:41 +0000</pubDate>
		<dc:creator>stephan</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[foss]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://blog.peijnik.at/?p=170</guid>
		<description><![CDATA[I have been reading a great many posts about Android lately, some consisting of criticism, some of praise and some simply addressing issues in the Android &#8220;community&#8221;. Let&#8217;s have a look at those.
Matt Porter&#8217;s Android Mythbusters presentation and Harald Welte&#8217;s reaction

I haven&#8217;t seen the presentation live, but I had a look at the slides. Impressing [...]]]></description>
			<content:encoded><![CDATA[<p>I have been reading a great many posts about Android lately, some consisting of criticism, some of praise and some simply addressing issues in the Android &#8220;community&#8221;. Let&#8217;s have a look at those.</p>
<p><strong>Matt Porter&#8217;s </strong><strong>Android Mythbusters presentation</strong><strong> and Harald Welte&#8217;s reaction<br />
</strong></p>
<p>I haven&#8217;t seen the presentation live, but I had a look at <a title="Mythbusters_Android.pdf @ tree.celinux.org" href="http://tree.celinuxforum.org/CelfPubWiki/ELCEurope2009Presentations?action=AttachFile&amp;do=get&amp;target=Mythbusters_Android.pdf">the slides</a>. Impressing work done by Matt putting all this information together. However, we all knew that Android only (ab-)uses Linux, without making use of the GNU userland for a long time, didn&#8217;t we?</p>
<p>In his presentation Matt has shown things such as Android&#8217;s udev &#8220;replacement&#8221; that uses hardcoded values for device node creation and (on his <a title="Android Mythbusters (Matt Porter) comment @ laforge.gnumonks.org" href="http://laforge.gnumonks.org/weblog/2009/11/04/#20091104-android_mythbusters">blog</a>) Harald has then come up with a statement I have found to be very strong:</p>
<blockquote><p>The presentation shows how Google has simply thrown 5-10 years of Linux userspace evolution into the trashcan and re-implemented it partially for no reason.  Things like hard-coded device lists/permissions in object code rather than config files, the lack of support for hot-plugging devices (udev), the lack of kernel headers.  A libc that throws away System V IPC that every unix/Linux software developer takes for granted. The lack of complete POSIX threads.  I could continue this list, but hey, you should read those slides. now!</p></blockquote>
<p>Now both of these statements target technical details, but the root of the problem seems to be elsewhere.</p>
<p><strong>Where is my Android 2.0?</strong></p>
<p>Okay, that heading might not be making any sense in the context of this post at a first glance, but let me elaborate on that. Google and the Open Handset Alliance refer to Android as being an &#8220;Open Source&#8221; operating system, but the project is different from &#8220;real&#8221; Free Software projects: development takes place in a closed group and the results are shared with the community later on, when they are deemed to be ready.</p>
<p>This means that innovation also takes place behind closed curtains and that the community is not involved in the actual development process at all. Lately we have seen the result of that, as Motorola is bragging about working close with Google on Android 2.0 (&#8221;Eclair&#8221;), but the AOSP source trees, open for everyone to have a look at, show no signs of version 2.0. In fact no changes that might even remotely suggest the release of a new major version have been made public in the past few weeks. So where is the openess there?<br />
Actually, the Motorola Droid has already shipped with Eclair on 6th, but still, there is no indication that Eclair will be made available to the broader public.</p>
<p>In short Android seems to be developed behind closed curtains, with hardly (read no) community input whatsoever and is sometimes released as Free Software, not what I would describe as an open development process.</p>
<p><strong>The Android Market problem</strong></p>
<p>As we have seen in the past Google is enforcing their copyright on proprietary applications that ship with pretty much every Android device, such as the Android Market. This has become really clear when Steve Kondik received  a cease and desist letter when packing the Google-proprietary applications into his ROMs. Okay, it&#8217;s Google&#8217;s right to enforce their copyright and there is nothing wrong with actually doing so, the thing I really have a problem with is something else: the Market is proprietary.</p>
<p>Now what this means should become rather clear. You can have an Android device without Google&#8217;s proprietary bits, but with default settings you just do not have any way of installing additional software. In my opinion the Market should be freed by Google themselves, or the community has to react and come up with a free replacement to overcome the vendor lock-in. Oh, you might know a replacement called <a href="http://www.slideme.org">SlideMe</a> (or Mobentoo) already. Well, that bugger is proprietary too, so not a solution at all.</p>
<p><strong>Nokia and Maemo to the rescue</strong></p>
<p>In most discussions about the openness of Android someone throws in Nokia and <a href="http://www.maemo.org">Maemo</a>, as a solution to the dilemma. Reading all those positive comments I simply had to give it a try, but all my hopes were destroyed within a few minutes.</p>
<p>Let&#8217;s start with the good news and let alone the reason why my hopes were destroyed for another minute or two. Maemo is based on Debian GNU/Linux and various Free Software components, such as GTK+, gstreamer, esd and friends. Most of the system is Free Software which is a good thing(tm) and reading all of this really got me into Maemo. Okay, some applications seem to be proprietary, but I am sure that could be fixed rather easily, so I could once for all use a truly open phone.</p>
<p>&#8230;and then came the <a href="http://repository.maemo.org/stable/fremantle/maemo-sdk-install_5.0.sh">SDK installer shell script</a>:</p>
<blockquote><p>#!/bin/sh<br />
# Copyright (C) 2006-2009 Nokia Corporation<br />
#<br />
# This is proprietary software owned by Nokia Corporation.<br />
#<br />
# Contact: Maemo Integration &lt;integration@maemo.org&gt;<br />
# Version: $Revision: 1110 $</p></blockquote>
<p>Now there is one question you should ask yourself: Why would someone trying to promote his platform as being open make the *installer* script for its SDK proprietary? Come on, it&#8217;s an installer script, how much of your secret juice could be in there? What&#8217;s the problem with people modifying it and working on this installer script in an open development environment?</p>
<p>I had high hopes for Nokia actually doing a bit better than Google, but it seems they&#8217;ve failed to do so. It may be me overreacting, but a proprietary SDK installer shell script scares me enough not to install the SDK and have a look at it for now nor to think about buying a Maemo-based device in the near future. Please Nokia, either get the facts straight or provide us with a free SDK to your free &amp; open platform.</p>
<p>So, in short, Google is bad at working with the community and creating a truly open development process, and Nokia simply fails in terms of not scaring off prospective developers for their open platform with the proprietary SDK installer. Do you have any solutions in terms of an open phone environment, apart from what OpenMoko has come up with?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.peijnik.at/2009/11/08/android-mythbusters-and-openness/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>UPDATE: AdSense on freedom blog reloaded</title>
		<link>http://blog.peijnik.at/2009/03/30/adsense-on-freedom-blog-reloaded/</link>
		<comments>http://blog.peijnik.at/2009/03/30/adsense-on-freedom-blog-reloaded/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 09:30:26 +0000</pubDate>
		<dc:creator>stephan</dc:creator>
				<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://blog.peijnik.at/?p=70</guid>
		<description><![CDATA[I just wanted to inform you that I am in the process of adding AdSense ads to this blog.
However, I am planning on having a one-ad-per-post policy, whilst not placing any ads on the front page.
More details on this topic will follow in the next few days.
UPDATE:
I have now integrated AdSense into this blog. As [...]]]></description>
			<content:encoded><![CDATA[<p>I just wanted to inform you that I am in the process of adding AdSense ads to this blog.<br />
However, I am planning on having a one-ad-per-post policy, whilst not placing any ads on the front page.</p>
<p>More details on this topic will follow in the next few days.</p>
<p><strong>UPDATE:</strong></p>
<p>I have now integrated AdSense into this blog. As promised the front page does not contain any ads, but all other pages do. Ads are shown as a widget so they are not in-text and thus should not disturb you whilst reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.peijnik.at/2009/03/30/adsense-on-freedom-blog-reloaded/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A possible attack &#8211; what to do about this?</title>
		<link>http://blog.peijnik.at/2009/03/26/a-possible-attack-what-to-do-about-this/</link>
		<comments>http://blog.peijnik.at/2009/03/26/a-possible-attack-what-to-do-about-this/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 11:06:58 +0000</pubDate>
		<dc:creator>stephan</dc:creator>
				<category><![CDATA[observations]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://blog.peijnik.at/?p=60</guid>
		<description><![CDATA[Just as I wanted to start writing an article here and I entered the URL of this blog into my browser I got no response from the webserver, zero, nothing.
First I thought the PHP fastcgi process for this virtual host died, but a quick check on another virtual host suggested that something else was going [...]]]></description>
			<content:encoded><![CDATA[<p>Just as I wanted to start writing an article here and I entered the URL of this blog into my browser I got no response from the webserver, zero, nothing.<br />
First I thought the PHP fastcgi process for this virtual host died, but a quick check on another virtual host suggested that something else was going on.</p>
<p>So I guessed the lighttpd process itself must be experiencing problems of some sort, but after doing a &#8220;netstat -nat&#8221; I  knew what was going on:</p>
<p>tcp6       1      1 83.65.62.72:80          61.135.190.248:12474    LAST_ACK<br />
tcp6       1      1 83.65.62.72:80          61.135.190.234:39671    LAST_ACK<br />
tcp6       1      1 83.65.62.72:80          61.135.190.253:39211    LAST_ACK<br />
tcp6       1      1 83.65.62.72:80          61.135.190.234:55160    LAST_ACK<br />
tcp6       1      1 83.65.62.72:80          61.135.190.230:25836    LAST_ACK<br />
tcp6       1      1 83.65.62.72:80          61.135.190.231:16865    LAST_ACK<br />
tcp6       1      1 83.65.62.72:80          61.135.190.232:24266    LAST_ACK<br />
tcp6       1      1 83.65.62.72:80          61.135.190.240:38441    LAST_ACK<br />
tcp6       1      1 83.65.62.72:80          61.135.190.243:17726    LAST_ACK<br />
tcp6       1      1 83.65.62.72:80          61.135.190.241:38206    LAST_ACK<br />
tcp6       1      1 83.65.62.72:80          61.135.190.251:23892    LAST_ACK<br />
tcp6       1      1 83.65.62.72:80          61.135.190.225:29675    LAST_ACK</p>
<p>Plus &#8220;a few&#8221; more of those. Now I&#8217;m not entirely sure whether it&#8217;s just some systems misbehaving or actually an attack, but my feelings told me this could have been intentional after all.<br />
I did a quick whois on one of those IP addresses and came up with the 61.135.0.0/16 network which is owned by China Network Communications Group Corporation.</p>
<p>As the connections were made from pretty much every host in that network I had two choices: sit it out or block it.</p>
<p>I came to the conclusion that blocking the entire subnet from connecting to this system, at least temporarily, might be a viable solution and so I did.<br />
However, afterwards I am asking myself whether I really had to block an entire 16-Bit network, so I am asking you: <strong>how do you handle such situations usually?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.peijnik.at/2009/03/26/a-possible-attack-what-to-do-about-this/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sptest &#8211; a Python unittest extension</title>
		<link>http://blog.peijnik.at/2008/09/10/sptest-a-python-unittest-extension/</link>
		<comments>http://blog.peijnik.at/2008/09/10/sptest-a-python-unittest-extension/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 11:06:29 +0000</pubDate>
		<dc:creator>stephan</dc:creator>
				<category><![CDATA[foss]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://espi86.wordpress.com/?p=41</guid>
		<description><![CDATA[Even though this is meant to be an introduction to sptest, I want to start off by letting you know why I wrote this extension to the Python unittest module.
I am currently working on a (still private) project that uses Python&#8217;s unittest module and the underlying framework. Even though unittest is a great utility for [...]]]></description>
			<content:encoded><![CDATA[<p>Even though this is meant to be an introduction to sptest, I want to start off by letting you know why I wrote this extension to the Python <a title="unittest Module" href="http://docs.python.org/lib/module-unittest.html">unittest</a> module.</p>
<p>I am currently working on a (still private) project that uses Python&#8217;s unittest module and the underlying framework. Even though unittest is a great utility for creating unit tests I found that the output it generates is unusable for me. I wanted something different though. Maybe a bit more aesthetic than the simple command line output unittest provides.</p>
<p>So I started off writing a class extending <a title="TestResult Objects" href="http://docs.python.org/lib/testresult-objects.html">unittest.TestResult</a> to fit my needs. I soon realized that interfacing with this part of unittest is not as easy as it could be, but I still continued to write my class.<br />
After two hours of hacking I noticed that this class had become a monster. It was huge and I felt uncomfortable having such a huge class lying around somewhere in a <em>&#8220;runtests.py&#8221;</em> file for the only reason of having that pretty output.</p>
<p>This was the point when I decided to move all that code into a separate project and try to come up with a more intuitive API. This was the second when <a title="sptest project" href="http://www.bitbucket.org/sp/sptest/">sptest</a> was born, about 5 hours ago.</p>
<p>What I did come up with is a small Python module that makes customizing the way unit test results are presented (or stored) easier. It currently includes two output handler classes. One providing fancy CLI output on ANSI terminals and the other one providing XML output.</p>
<p>Additional output handler classes could store the result of the unit tests in a database or send it to a central point on the network, but implementing that is up to someone else, for now.</p>
<p>Running unit tests with <em>sptest</em> is as simple as calling:</p>
<blockquote><p>sptest.TestMain(TestSuite).run()</p></blockquote>
<p>By default the FancyCLIOutput handler class will be invoked and you will see why the handler is called the way it is immediatly.</p>
<p>In order to generate an XML file containing the test results one just has to modify the call to <em>sptest</em> to look like this:</p>
<blockquote><p>sptest.TestMain(TestSuite, output_class=sptest.output.XMLOutput).run()</p></blockquote>
<p><em>sptest</em> also provides support for preparation and cleanup functions. The only thing you have to do is define these functions and adjust the arguments passed to <em>TestMain</em> accordingly.</p>
<p>Most of the code is already documented and a doxygen configuration file for generating the html documentation comes with the code. Also, <a title="example0.py" href="http://www.bitbucket.org/sp/sptest/src/d332f262bb0d/doc/example/example0.py">two</a> <a title="example0_xml.py" href="http://www.bitbucket.org/sp/sptest/src/d332f262bb0d/doc/example/example0_xml.py">examples</a> are included that show how to use sptest.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.peijnik.at/2008/09/10/sptest-a-python-unittest-extension/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Status update</title>
		<link>http://blog.peijnik.at/2008/06/23/status-update/</link>
		<comments>http://blog.peijnik.at/2008/06/23/status-update/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 10:38:53 +0000</pubDate>
		<dc:creator>stephan</dc:creator>
				<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://espi86.wordpress.com/?p=25</guid>
		<description><![CDATA[It has been quite a while since I last wrote an article and published it here.
It&#8217;s not like I got tired of blogging. The reason why there hasn&#8217;t been an update for such a long time is that I was doing my final exams in the past two months.
After passing my exams on Friday I [...]]]></description>
			<content:encoded><![CDATA[<p>It has been quite a while since I last wrote an article and published it here.</p>
<p>It&#8217;s not like I got tired of blogging. The reason why there hasn&#8217;t been an update for such a long time is that I was doing my final exams in the past two months.</p>
<p>After passing my exams on Friday I should have time to write some articles again, so watch out for new articles here.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.peijnik.at/2008/06/23/status-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to reject mails containing OOXML attachments using Exim4</title>
		<link>http://blog.peijnik.at/2008/03/27/how-to-reject-mails-containing-ooxml-attachments-using-exim4/</link>
		<comments>http://blog.peijnik.at/2008/03/27/how-to-reject-mails-containing-ooxml-attachments-using-exim4/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 10:33:04 +0000</pubDate>
		<dc:creator>stephan</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://espi86.wordpress.com/?p=16</guid>
		<description><![CDATA[I finally did it. I modified my Exim&#8217;s configuration to reject any mail with an OOXML attachment (ie. docx, pptx, xlsx).
There are two main reasons for this step. First of all I am not able to open these files and I believe I will not be able to do so and get them properly rendered [...]]]></description>
			<content:encoded><![CDATA[<p>I finally did it. I modified my Exim&#8217;s configuration to reject any mail with an OOXML attachment (ie. docx, pptx, xlsx).</p>
<p>There are two main reasons for this step. First of all I am not able to open these files and I believe I will not be able to do so and get them properly rendered anytime soon. Secondly, people using the new Microsoft Office suite seem to be ignorant enough to think everyone is able to view those files, which is not the case.</p>
<p>I am trying to make one point here:<br />
People sending emails to other people should <b>always</b> send files in internationally standardized formats (<a href="http://en.wikipedia.org/wiki/Open_format">open formats</a>), such as <a href="http://en.wikipedia.org/wiki/OpenDocument">ODF</a> or <a href="http://en.wikipedia.org/wiki/PDF">PDF</a>, so that everyone is able to open them and use the attachments. Also, I am trying to make people sending out emails in those formats aware of the fact that not everyone can open them, not everyone wants to invest a lot of money in new applications and that some people generally prefer Free Software and that there is no way of using those files using Free Software right now.</p>
<p>Enough for the introduction, I wanted to explain how to achieve this behavior using Exim4:</p>
<blockquote><p>deny  message         = Message contains attachment of unwanted type ($found_extension)<br />
demime          = docx:pptx:xlsx</p></blockquote>
<p>Putting this snippet in the <i>acl_check_content</i> section of your exim4.conf should do the trick.</p>
<p>Oh, and while I am at it, you can easily use this snippet to drop mails with other attachments, based on the file extension.<br />
For example, in order to reject all mails containing WMV files just use <i>demime = wmv</i>.</p>
<p>Note that this snippets checks for a specified file extension instead of a MIME type. People still can get mails through in those formats if they modify the file extension, so <b>do not</b> use this method as a security measure.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.peijnik.at/2008/03/27/how-to-reject-mails-containing-ooxml-attachments-using-exim4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Less spam again</title>
		<link>http://blog.peijnik.at/2008/03/26/less-spam-again/</link>
		<comments>http://blog.peijnik.at/2008/03/26/less-spam-again/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 15:26:26 +0000</pubDate>
		<dc:creator>stephan</dc:creator>
				<category><![CDATA[observations]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://espi86.wordpress.com/?p=13</guid>
		<description><![CDATA[I found a solution to the problem last described in this article.
To sum the problem I was experiencing up: My anti-spam system (namely Spamassassin) did not detect spam mails anymore.
Now here is the reason it did not: After some more investigation of the problem I noticed that spam emails were received via a local connection [...]]]></description>
			<content:encoded><![CDATA[<p>I found a solution to the problem last described in <a href="http://espi86.wordpress.com/2008/03/25/more-spam-again/">this</a> article.</p>
<p>To sum the problem I was experiencing up: My anti-spam system (namely Spamassassin) did not detect spam mails anymore.</p>
<p>Now here is the reason it did not: After some more investigation of the problem I noticed that spam emails were received via a local connection (forwarded from fetchmail). However, one of my Exim ACLs says not to scan emails from localhost for spam.</p>
<p>So, the solution might be a hack, but it worked out perfectly. Starting fetchmail with the <i>-S &lt;servername&gt;</i> argument causes it to send emails to the given SMTP server rather than localhost. Using the real hostname of my server caused the &#8220;do not scan local mails&#8221; not to kick in and all mails received via fetchmail to be scanned again.</p>
<p><b>Problem fixed</b>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.peijnik.at/2008/03/26/less-spam-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving my blog</title>
		<link>http://blog.peijnik.at/2008/03/25/moving-my-blog/</link>
		<comments>http://blog.peijnik.at/2008/03/25/moving-my-blog/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 14:29:30 +0000</pubDate>
		<dc:creator>stephan</dc:creator>
				<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://espi86.wordpress.com/?p=12</guid>
		<description><![CDATA[And yet another post today. As I am planning to take down my personal server in the next few weeks (maybe months) I have moved my blog to wordpress.com. A 301-redirect has been set up at http://sp.or.at/blog so people (and robots) are still able to find my blog.
]]></description>
			<content:encoded><![CDATA[<p>And yet another post today. As I am planning to take down my personal server in the next few weeks (maybe months) I have moved my blog to wordpress.com. A 301-redirect has been set up at http://sp.or.at/blog so people (and robots) are still able to find my blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.peijnik.at/2008/03/25/moving-my-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Removing a lot of frozen mails from Exim&#8217;s mail queue</title>
		<link>http://blog.peijnik.at/2008/03/25/removing-a-lot-of-frozen-mails-from-exims-mail-queue/</link>
		<comments>http://blog.peijnik.at/2008/03/25/removing-a-lot-of-frozen-mails-from-exims-mail-queue/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 13:40:53 +0000</pubDate>
		<dc:creator>stephan</dc:creator>
				<category><![CDATA[free software]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://www.sp.or.at/blog/2008/03/25/removing-a-lot-of-frozen-mails-from-exims-mail-queue/</guid>
		<description><![CDATA[After writing my last article, I started digging into my mail configuration and after doing a quick &#8220;mailq&#8221; noticed a lot of frozen messages in Exim&#8217;s queue. After inspecting the logs and the mails themselves I noticed the problem was caused by a broken POP server I retrieve mails from periodically. A few days ago [...]]]></description>
			<content:encoded><![CDATA[<p>After writing my <a href="http://www.sp.or.at/blog/2008/03/25/more-spam-again/">last article</a>, I started digging into my mail configuration and after doing a quick &#8220;mailq&#8221; noticed a lot of frozen messages in Exim&#8217;s queue. After inspecting the logs and the mails themselves I noticed the problem was caused by a broken POP server I retrieve mails from periodically. A few days ago something went wrong on that server and all messages were marked as unread causing my fetchmail to re-fetch all of them (about 2.5K).</p>
<p>Now that my mail server is configured  to do sender verification and a few very old mails came from domains or systems which are non-existent today about 50 mails ended up being frozen.</p>
<p>But how to remove all frozen mails from Exim&#8217;s queue? I ended up using <em>mailq | grep frozen</em> to get a list of  all messages (and more importantly their message IDs) and saved that to a file. I then wrote a minimalistic Python script attached to this article to delete all those messages. Consider the script a quick and dirty hack, but it might come in handy for some of you. Get it <a href="http://www.sp.or.at/batchdelete.py" title="batchdelete.py">here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.peijnik.at/2008/03/25/removing-a-lot-of-frozen-mails-from-exims-mail-queue/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
