<?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>Patrick&#039;s WebLog</title>
	<atom:link href="http://patrick-nagel.net/blog/feed" rel="self" type="application/rss+xml" />
	<link>https://patrick-nagel.net/blog</link>
	<description>patrick-nagel.net/blog</description>
	<lastBuildDate>Thu, 13 May 2010 03:11:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to extract a list of pages containing a string from a MediaWiki XML dump</title>
		<link>https://patrick-nagel.net/blog/archives/215</link>
		<comments>https://patrick-nagel.net/blog/archives/215#comments</comments>
		<pubDate>Wed, 12 May 2010 10:44:05 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">https://patrick-nagel.net/blog/?p=215</guid>
		<description><![CDATA[Here comes one of those &#8220;I&#8217;ve got to write that down somewhere, and maybe it will be useful for someone else, too&#8221; posts:
I needed to get a list of MediaWiki page names of pages that contained a certain string (&#8220;needle&#8221;) from a MediaWiki XML dump. This is how I got it, using XMLStarlet:
xml sel -N [...]]]></description>
			<content:encoded><![CDATA[<p>Here comes one of those &#8220;I&#8217;ve got to write that down somewhere, and maybe it will be useful for someone else, too&#8221; posts:</p>
<p>I needed to get a list of MediaWiki page names of pages that contained a certain string (&#8220;needle&#8221;) from a MediaWiki XML dump. This is how I got it, using <a href="http://xmlstar.sourceforge.net/">XMLStarlet</a>:</p>
<pre>xml sel -N mw=http://www.mediawiki.org/xml/export-0.3/ \
 -t \
  -m "/mw:mediawiki/mw:page/mw:revision/mw:text[contains(string(.), 'needle')]" \
  -n \
  -v "../../mw:title" wikiexport.xml \
| xml unesc</pre>
]]></content:encoded>
			<wfw:commentRss>https://patrick-nagel.net/blog/archives/215/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating multi-page PDF files with GIMP and `convert`</title>
		<link>https://patrick-nagel.net/blog/archives/199</link>
		<comments>https://patrick-nagel.net/blog/archives/199#comments</comments>
		<pubDate>Sun, 07 Feb 2010 11:33:42 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Linux (general)]]></category>

		<guid isPermaLink="false">https://patrick-nagel.net/blog/?p=199</guid>
		<description><![CDATA[Occasionally I have to sign some document (old style, with a pen) and send it electronically. Sometimes those are multi-page documents. Since it is uncommon to send it back as multiple image files after scanning, and multi-page image formats are uncommon as well, I&#8217;d like to send them as PDF file. Before I discovered this [...]]]></description>
			<content:encoded><![CDATA[<p>Occasionally I have to sign some document (old style, with a pen) and send it electronically. Sometimes those are multi-page documents. Since it is uncommon to send it back as multiple image files after scanning, and multi-page image formats are uncommon as well, I&#8217;d like to send them as PDF file. Before I discovered this method, I used to insert the scanned images into OpenOffice Writer, and then create the PDF with it. This works, but it is a bit cumbersome to tell OpenOffice Writer to maximise the images (eliminating page borders, etc.), especially when there are a lot of pages. It just doesn&#8217;t feel like a real solution.</p>
<p>So, here we go:</p>
<p><strong>Prerequisites:</strong></p>
<ul>
<li><a href="http://www.gimp.org/">GIMP</a> (I&#8217;m currently at version 2.6.8, but this will probably work with older versions as well)</li>
<li><a href="http://www.graphicsmagick.org/">GraphicsMagick</a> (tested with 1.3.8) or <a href="http://www.imagemagick.org/">ImageMagick</a> (tested with 6.5.8.8)</li>
</ul>
<p><strong>Procedure:</strong></p>
<ol>
<li>Get the scanned pages opened as layers of one image in GIMP. If they are available as files already, you can use <em>File / Open as Layers&#8230;</em>.</li>
<li>Make sure that the layers are ordered in the following way: Page 1 must be the bottom layer, the last page must be the top layer. You can reorder them via the &#8220;Layers&#8221; dialogue (activate it via the <em>Windows / Dockable Dialogues</em> menu if you don&#8217;t see it)</li>
<li><em>Save As&#8230;</em> and choose &#8220;MNG animation&#8221; or just add &#8220;.mng&#8221; to the filename. (In case you are wondering, <a href="http://en.wikipedia.org/wiki/Multiple-image_Network_Graphics">MNG</a> is the animated counterpart to PNG).<br />
A dialogue window saying &#8220;MNG plug-in can only handle layers as animation frames&#8221; will come up &#8211; choose &#8220;Save as Animation&#8221; here and press the Export button. In the next dialogue you don&#8217;t need to make any changes to the defaults, just press the Save button.</li>
<li>Now, open a console window and simply enter<br />
<code>convert document.mng document.pdf</code></li>
</ol>
<p>That&#8217;s it &#8211; you now have your PDF file ready for sending!</p>
<p><strong>Update (2010-02-08):</strong><br />
As chithanh pointed out in <a href="https://patrick-nagel.net/blog/archives/199/comment-page-1#comment-12405">comment 1</a>, there is another convenient way to accomplish the same. It does not involve GIMP, but instead requires <a href="http://www.pdfhacks.com/pdftk/">pdftk</a> to concatenate PDF files. Please see <a href="https://patrick-nagel.net/blog/archives/199/comment-page-1#comment-12408">comment 2</a> for details.</p>
<p><strong>Update (2010-03-01):</strong><br />
And yet another way (definitely the most straight-forward one, if you have the pages as single image files already) was pointed out by goffrie in <a href="https://patrick-nagel.net/blog/archives/199#comment-12557">comment 5</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://patrick-nagel.net/blog/archives/199/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>An equaliser that works with MPD and ALSA</title>
		<link>https://patrick-nagel.net/blog/archives/180</link>
		<comments>https://patrick-nagel.net/blog/archives/180#comments</comments>
		<pubDate>Sat, 10 Oct 2009 07:02:40 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Gentoo Linux]]></category>
		<category><![CDATA[Linux (general)]]></category>

		<guid isPermaLink="false">https://patrick-nagel.net/blog/?p=180</guid>
		<description><![CDATA[A few months ago I was looking for a way to lower the amplification of the lower frequencies while listening to music on extremely bass-heavy in-ear headphones. The only way to accomplish that, seemed to be using JACK. Since that seemed overkill to me, I gave up.
Today I found a solution that does not require [...]]]></description>
			<content:encoded><![CDATA[<p>A few months ago I was looking for a way to lower the amplification of the lower frequencies while listening to music on extremely bass-heavy in-ear headphones. The only way to accomplish that, seemed to be using JACK. Since that seemed overkill to me, I gave up.</p>
<p>Today I found a solution that does not require JACK: Charles Eidsness&#8217; <a href="http://www.thedigitalmachine.net/alsaequal.html">ALSAEQUAL</a>. This is how you get it working with <a href="http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki">MPD</a> on Gentoo:</p>
<ol>
<li>`emerge alsaequal`</li>
<li>
Create an <tt>.asoundrc</tt> file in the home directory of the user that runs MPD on your system (see <tt>`grep "^user" /etc/mpd.conf`</tt>) with the following content:</p>
<pre>
ctl.equal {
  type equal;
}

pcm.plugequal {
  type equal;
  slave.pcm "plug:dmix";
}

pcm.equal {
  # Or if you want the equalizer to be your
  # default soundcard uncomment the following
  # line and comment the above line.
# pcm.!default {
  type plug;
  slave.pcm plugequal;
}
</pre>
<p>(copied from the ALSAEQUAL website &#8211; modified so that dmix is being used, which allows playing multiple audio sources simultaneously)
</li>
<li>Find the <tt>audio_output</tt> section in your <tt>/etc/mpd.conf</tt> where you currently configure MPD to use ALSA&#8217;s default device. Change it so that it looks like
<pre>
audio_output {
  type    "alsa"
  name    "equal"
  device  "plug:plugequal"
}
</pre>
</li>
<li><tt>`/etc/init.d/alsasound restart &#038;&#038; /etc/init.d/mpd restart`</tt></li>
<li>Play a track with MPD, then run <tt>`alsamixer -D equal`</tt>. Modify any of the frequency band sliders and observe the effect.</li>
</ol>
<p>Other applications will be unaffected by the equaliser, if you don&#8217;t change the <tt>.asoundrc</tt> according to the comment, and if you don&#8217;t configure them to use the &#8216;equal&#8217; ALSA device.</p>
]]></content:encoded>
			<wfw:commentRss>https://patrick-nagel.net/blog/archives/180/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Internet-Manifest</title>
		<link>https://patrick-nagel.net/blog/archives/176</link>
		<comments>https://patrick-nagel.net/blog/archives/176#comments</comments>
		<pubDate>Tue, 08 Sep 2009 10:00:19 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[German]]></category>

		<guid isPermaLink="false">https://patrick-nagel.net/blog/?p=176</guid>
		<description><![CDATA[&#8220;Wie Journalismus heute funktioniert. 17 Behauptungen.&#8221;
Gut geschrieben und auf den Punkt gebracht. Ich werde hiermit sicher nicht das letzte Mal darauf verlinkt haben.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.internet-manifest.de/">&#8220;Wie Journalismus heute funktioniert. 17 Behauptungen.&#8221;</a></p>
<p>Gut geschrieben und auf den Punkt gebracht. Ich werde hiermit sicher nicht das letzte Mal darauf verlinkt haben.</p>
]]></content:encoded>
			<wfw:commentRss>https://patrick-nagel.net/blog/archives/176/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Total Solar Eclipse on 2009-07-22, Shanghai area</title>
		<link>https://patrick-nagel.net/blog/archives/171</link>
		<comments>https://patrick-nagel.net/blog/archives/171#comments</comments>
		<pubDate>Thu, 16 Jul 2009 04:29:00 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">https://patrick-nagel.net/blog/?p=171</guid>
		<description><![CDATA[There will be a total solar eclipse on 2009-07-22, and a good place to observe it is my current place of residence, Shanghai.
Here is a map from NASA&#8217;s website, I added the local time for Shanghai residents:

Hopefully it won&#8217;t be cloudy!  
]]></description>
			<content:encoded><![CDATA[<p>There will be a total solar eclipse on 2009-07-22, and a good place to observe it is my current place of residence, Shanghai.</p>
<p>Here is a map from <a href="http://eclipse.gsfc.nasa.gov/SEmono/TSE2009/TSE2009.html">NASA&#8217;s website</a>, I added the local time for Shanghai residents:</p>
<p><a href="https://patrick-nagel.net/blog/wp-content/uploads/2009/07/Total_Solar_Eclipse_July_22_Shanghai.png"><img src="https://patrick-nagel.net/blog/wp-content/uploads/2009/07/Total_Solar_Eclipse_July_22_Shanghai-300x191.png" alt="Total_Solar_Eclipse_July_22_Shanghai" title="Total_Solar_Eclipse_July_22_Shanghai" width="300" height="191" class="aligncenter size-medium wp-image-172" /></a></p>
<p>Hopefully it won&#8217;t be cloudy! <img src='https://patrick-nagel.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>https://patrick-nagel.net/blog/archives/171/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>VirtualBox 3 &#8211; SMP for guests</title>
		<link>https://patrick-nagel.net/blog/archives/159</link>
		<comments>https://patrick-nagel.net/blog/archives/159#comments</comments>
		<pubDate>Thu, 02 Jul 2009 02:43:35 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://patrick-nagel.net/blog/?p=159</guid>
		<description><![CDATA[VirtualBox &#8211; my current favourite desktop virtualisation software &#8211; has been released in version 3.0.0 two days ago, so I gave it a try. The most interesting new feature in this new version is the &#8220;Guest SMP&#8221; support. It finally removes the limitation, that a guest can only work on one host core (which means, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.virtualbox.org/">VirtualBox</a> &#8211; my current favourite desktop virtualisation software &#8211; has been released in version 3.0.0 two days ago, so I gave it a try. The most interesting new feature in this new version is the &#8220;Guest SMP&#8221; support. It finally removes the limitation, that a guest can only work on one host core (which means, when you have a 4-core host CPU, the guest could only run with 1/4 of the speed).</p>
<p>The documentation is not very clear about what &#8220;Guest SMP&#8221; <em>really</em> does &#8211; it could, for example, just show multiple CPUs to the guest, but still only use one host core. To make sure that my assumption of VirtualBox 3 actually making it possible to assign multiple host CPUs/cores to the guest, so that it can actually run faster, I did a quick test. I started by making one of my Linux VMs a dual CPU VM:</p>
<p><a href="/blog/wp-content/uploads/2009/07/vbox3_multi_cpu2.png"><img src="/blog/wp-content/uploads/2009/07/vbox3_multi_cpu2.png" alt="vbox3_multi_cpu2" title="vbox3_multi_cpu2" width="418" height="169" class="alignnone size-full wp-image-162" /></a></p>
<p>In the VM, I then started to build the Linux kernel, once with <code>make -j1</code> and once with <code>make -j2</code>. This is my CPU usage monitor on the (2-core) host, which shows both cores&#8217; usage combined:</p>
<p><a href="/blog/wp-content/uploads/2009/07/vbox3_multi_cpu.png"><img src="/blog/wp-content/uploads/2009/07/vbox3_multi_cpu.png" alt="vbox3_multi_cpu" title="vbox3_multi_cpu" width="63" height="85" class="alignnone size-full wp-image-160" /></a></p>
<p>In section 1 of the graph, only one compiler process is running (<code>make -j1</code>). At the end of section 1 I aborted the building process and (in section 2) I typed in <code>make -j2</code>. Thus, section 3 shows the CPU usage when two compiler processes are running simultaneously in the VM. So my assumption was correct, it is now possible to make all of the host&#8217;s processing power available in a VM.</p>
<p>Thanks, VirtualBox team! (I won&#8217;t address the company behind VirtualBox, since this would probably cause my post to be outdated before I can press the &#8220;Publish&#8221; button). Lets just hope that this great project will see further development, it is currently the best desktop virtualisation project available, in my opinion. It would be even greater if all of the functionality was available in the Open Source version though. This would ensure that, no matter what the current company behind VirtualBox decides to do with it, development could go on.</p>
]]></content:encoded>
			<wfw:commentRss>https://patrick-nagel.net/blog/archives/159/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Umlaute ohne QWERTZ Tastatur-Layout (für Windows-Nutzer)</title>
		<link>https://patrick-nagel.net/blog/archives/146</link>
		<comments>https://patrick-nagel.net/blog/archives/146#comments</comments>
		<pubDate>Thu, 14 May 2009 10:31:34 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://patrick-nagel.net/blog/?p=146</guid>
		<description><![CDATA[Ich verwende seit Jahren unter Linux (X11) eine .Xmodmap-Datei die mir ermöglicht, stressfrei deutsche Umlaute zu schreiben: Drücke ich [Windows]-[o] bekomme ich ein ö. Brauche ich ein Ö, drücke ich [Windows]-[Shift]-[o]. Ein ß gibt&#8217;s mit [Windows]-[s]. Das funktioniert hervorragend, nach wenigen Tagen hatte ich mich daran gewöhnt &#8211; und die Windows-Taste ist nun endlich mal [...]]]></description>
			<content:encoded><![CDATA[<p>Ich verwende seit Jahren unter Linux (X11) eine .Xmodmap-Datei die mir ermöglicht, stressfrei deutsche Umlaute zu schreiben: Drücke ich [Windows]-[o] bekomme ich ein ö. Brauche ich ein Ö, drücke ich [Windows]-[Shift]-[o]. Ein ß gibt&#8217;s mit [Windows]-[s]. Das funktioniert hervorragend, nach wenigen Tagen hatte ich mich daran gewöhnt &#8211; und die Windows-Taste ist nun endlich mal für etwas gut <img src='https://patrick-nagel.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Da ich mich seit längerem im Ausland aufhalte, treffe ich viele Deutsch-Schreibende die auf amerikanischem Tastatur-Layout schreiben. Darunter sind (leider) auch viele Windows-Benutzer. Alle diese Personen umschreiben die Umlaute mit &#8220;oe&#8221;, &#8220;Oe&#8221;, &#8220;ss&#8221;, etc.</p>
<p>Also habe ich heute mal recherchiert, ob es nicht doch eine Möglichkeit gibt, diesen Personen zu Umlauten zu verhelfen. Die offensichtlichste Möglichkeit ist natürlich, auf Linux umzusteigen und <a href="https://patrick-nagel.net/scripts/xmodmap/.Xmodmap">meine .Xmodmap</a> zu verwenden. Aber das ist eher etwas längerfristiges, und viele sind dafür einfach zu unflexibel&#8230;<br />
Es gibt jedoch noch eine andere Lösung, dank der unter der GPL stehenden Software <a href="http://www.autohotkey.com/">AutoHotKey</a>. Ungewohnt schön (für Windows-Programm-Verhältnisse) an dieser Software ist, dass sie sogar einen &#8220;Compiler&#8221; mitbringt, der aus der Tasten-Mapping-Definition eine ausführbare Datei erstellt.</p>
<p>Die AutoHotKey Mapping-Definition (.AHK Datei), die zu meiner gewünschten Funktionalität führt, sieht so aus:</p>
<p><code>+#a::Ä<br />
#a::ä<br />
+#o::Ö<br />
#o::ö<br />
+#u::Ü<br />
#u::ü<br />
#s::ß</code></p>
<p>Sehr wichtig dabei ist, dass die Datei <em>ANSI-codiert</em> gespeichert wird, weil AutoHotKey wohl nichts mit Unicode anzufangen weiß. Wenn man sich allerdings (wie ich während meiner Recherche) auf einer Windows-Installation befindet, deren Non-Unicode program locale keine deutschen Umlaute im erweiterten ASCII-Bereich hat, ist das nicht sonderlich einfach zu bewerkstelligen. Man kann die Datei nicht ohne Weiteres mit Windows-Bordmitteln ANSI-codiert abspeichern, sofern man nicht die Locale auf Deutsch (oder irgend eine andere Sprache bei der die o.g. Umlaute im erweiterten ASCII-Bereich vorkommen) umstellt. Und danach ist natürlich Neustarten angesagt &#8211; wie könnte es auch anders sein&#8230;</p>
<p>Mit etwas Vertrauen in mich kannst du aber auch einfach meine <a href="https://patrick-nagel.net/tools/umlauts.exe">umlauts.exe herunterladen</a>, die ich mit AutoHotKey erstellt habe. Nach dem Ausführen befindet sich das AutoHotKey-Logo im System-Tray und man kann Umlaute wie oben beschrieben tippen. Ich habe keine Trojaner oder sonstige Schädlinge eingebaut (zumindest nicht wissentlich).</p>
<p><strong>Update (2009-05-17):</strong> Es hat sich herausgestellt, dass diese ganze Sache in GTK-für-Windows-Anwendungen wie <a href="http://pidgin.im">Pidgin</a> nicht funktioniert. Ich habe nun einen Workaround gebastelt, der in Pidgin funktioniert &#8211; aber schön ist was anderes. Die AHK-Datei ist dadurch etwas länger geworden: <a href="https://patrick-nagel.net/tools/umlauts.ahk">umlauts.ahk</a></p>
<p>Die <a href="https://patrick-nagel.net/tools/umlauts.exe">umlauts.exe</a> habe ich aktualisiert.</p>
<p><strong>Update (2010-03-12):</strong> Als (verspätete) Reaktion auf jan und Daniels Kommentare habe ich nun das Script <a href="https://patrick-nagel.net/tools/umlauts.ahk">umlauts.ahk</a> verbessert, und auch eine neue <a href="https://patrick-nagel.net/tools/umlauts.exe">umlauts.exe</a> gebaut. Ich verwende weiterhin die [Windows]-Taste. AltGr ist keine Option, da es diese Taste auf vielen Tastaturen (z.B. US-Layout) nicht gibt.</p>
]]></content:encoded>
			<wfw:commentRss>https://patrick-nagel.net/blog/archives/146/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Fresh vs. rotten ext3</title>
		<link>https://patrick-nagel.net/blog/archives/125</link>
		<comments>https://patrick-nagel.net/blog/archives/125#comments</comments>
		<pubDate>Tue, 12 May 2009 13:26:10 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Linux (general)]]></category>

		<guid isPermaLink="false">http://patrick-nagel.net/blog/?p=125</guid>
		<description><![CDATA[Did you ever hear sentences like &#8220;Linux/Unix filesystems are superior, to stuff like NTFS, let alone FAT32 &#8211; you don&#8217;t even need a defragmentation tool.&#8221;?
That statement may be technically correct, since fragmentation is really rare with ext3 &#8211; but what about spatial locality of reference &#8211; files that are often accessed at nearly the same [...]]]></description>
			<content:encoded><![CDATA[<p>Did you ever hear sentences like &#8220;Linux/Unix filesystems are superior, to stuff like NTFS, let alone FAT32 &#8211; you don&#8217;t even <em>need</em> a defragmentation tool.&#8221;?</p>
<p>That statement may be technically correct, since fragmentation is really rare with ext3 &#8211; but what about <a href="http://en.wikipedia.org/wiki/Locality_of_reference">spatial locality of reference</a> &#8211; files that are often accessed at nearly the same time being spread over the whole disk, thus causing long access times due to head positioning?<br />
There is (AFAIK) no way to (programmatically) optimise / sort a Linux filesystem in a way that for example all init scripts, binaries, libraries, etc. reside in nearby sectors on a harddisk. Those tools do exist in the Windows world (built into those 3rd party defragmenters).</p>
<p>The only way to do this optimisation is &#8220;by hand&#8221;: make a backup, mkfs and restore the backup &#8211; but that&#8217;s something you only do when you have a lot of time, or when I/O finally got painfully slow.</p>
<p>One factor that probably plays an important role, is, that I usually only have one partition (+swap) that contains everything &#8211; etc, usr, usr/portage, var, home, &#8230;<br />
With such a setup, after only a few months of updating the system, downloading stuff from the net, copying pictures from the DSLR to the harddisk, updating the system again, etc. will lead to all kinds of files being well spread throughout the whole disk. Imagine some init scripts and binaries they call still being at the &#8220;beginning&#8221; of the disk, some others, due to updates, at the &#8220;end&#8221;. And that&#8217;s what makes I/O slow&#8230; see for yourself:</p>
<p>From loading the kernel to KDM being ready for login on a</p>
<ul>
<li><a href='http://patrick-nagel.net/blog/wp-content/uploads/2009/05/kernel-loading_to_kdm_ready_fresh.avi'>fresh ext3</a> &#8211; <strong>32 seconds</strong></li>
<li><a href='http://patrick-nagel.net/blog/wp-content/uploads/2009/05/kernel-loading_to_kdm_ready_old.avi'>rotten ext3</a> &#8211; <strong>57 seconds</strong></li>
</ul>
<p>(sorry for the poor video quality)</p>
<p><strong>That is an ~80% performance decrease.</strong></p>
<p>How I got the videos:</p>
<ol>
<li>Capture startup of my system stored on a months old ext3 partition</li>
<li>Backup (with <a href="http://dar.linux.free.fr/">dar</a>)</li>
<li>mkfs.ext3</li>
<li>Restore</li>
<li>Capture startup of my system on a freshly made ext3 partition</li>
<li>Trim the videos so that frame 1 is the first frame on which kernel output is visible and the last frame is the first frame on which KDM shows the input widgets</li>
</ol>
<p>Hoping that this situation will improve with ext4 &#8211; I heard online defragmentation will be possible at some point, and that probably also makes &#8220;sorting&#8221; the filesystem possible.</p>
]]></content:encoded>
			<wfw:commentRss>https://patrick-nagel.net/blog/archives/125/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://patrick-nagel.net/blog/wp-content/uploads/2009/05/kernel-loading_to_kdm_ready_fresh.avi" length="1934792" type="video/x-msvideo" />
<enclosure url="http://patrick-nagel.net/blog/wp-content/uploads/2009/05/kernel-loading_to_kdm_ready_old.avi" length="3515894" type="video/x-msvideo" />
		</item>
		<item>
		<title>Glück ist&#8230;</title>
		<link>https://patrick-nagel.net/blog/archives/122</link>
		<comments>https://patrick-nagel.net/blog/archives/122#comments</comments>
		<pubDate>Mon, 23 Feb 2009 17:45:33 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Basic things that suddenly come to my mind]]></category>

		<guid isPermaLink="false">http://patrick-nagel.net/blog/?p=122</guid>
		<description><![CDATA[davon zu leben dass andere dümmer sind
und sich dabei
daran erfreuen zu können dass andere klüger sind.
]]></description>
			<content:encoded><![CDATA[<p>davon zu leben dass andere dümmer sind<br />
und sich dabei<br />
daran erfreuen zu können dass andere klüger sind.</p>
]]></content:encoded>
			<wfw:commentRss>https://patrick-nagel.net/blog/archives/122/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Random Pidgin (on Windows) crashes finally resolved</title>
		<link>https://patrick-nagel.net/blog/archives/118</link>
		<comments>https://patrick-nagel.net/blog/archives/118#comments</comments>
		<pubDate>Fri, 13 Feb 2009 08:23:44 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Annoying bugs]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://patrick-nagel.net/blog/?p=118</guid>
		<description><![CDATA[A couple of months ago we deployed Pidgin on all workstations for our internal Instant Messaging needs. All seemed well until on a few workstations random crashes occurred (multiple times per day!). There was no recognisable pattern for the crashes, and, as you can imagine, big frustrations amongst those who were affected.
A while ago I [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of months ago we deployed Pidgin on all workstations for our internal Instant Messaging needs. All seemed well until on a few workstations random crashes occurred (multiple times per day!). There was no recognisable pattern for the crashes, and, as you can imagine, big frustrations amongst those who were affected.</p>
<p>A while ago I stumbled on <a href="http://developer.pidgin.im/ticket/5662">Pidgin bug report 5662</a> and thought that might be the bug we were encountering &#8211; but there were no efforts going on to fix the issue. It turned out to actually be <a href="http://bugzilla.gnome.org/show_bug.cgi?id=543209">GTK-on-Windows&#8217; fault</a> (thanks to David Grohmann for the analysis and bringing it to the attention of the GTK developers).</p>
<p>Now, &#8220;only&#8221; eight months after the bug had been reported, the issue has been fixed in GTK. The crashes on those workstations disappeared after <a href="http://developer.pidgin.im/ticket/5662#comment:40">bringing the new Pango libraries into place</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://patrick-nagel.net/blog/archives/118/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
