<?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>Texte im Rauschen &#187; Software</title>
	<atom:link href="http://jan.essert.name/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://jan.essert.name</link>
	<description>...über alles, was mir einfällt</description>
	<lastBuildDate>Sun, 04 Jul 2010 10:21:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Email-Software</title>
		<link>http://jan.essert.name/2010/04/email-software/</link>
		<comments>http://jan.essert.name/2010/04/email-software/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 12:31:32 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Fundsachen]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[email]]></category>

		<guid isPermaLink="false">http://jan.essert.name/?p=1112</guid>
		<description><![CDATA[Demnächst muß ich wohl meine Emails anders verwalten, zustellen, aufheben und sortieren als das bis jetzt über meinen Uni-Account möglich war. Spannende Programme in diesem Zusammenhang scheinen zu sein: sup — a mail client for geeks (Leider noch UTF-8-Probleme und wohl etwas buggy) offlineimap — IMAP Synchronisation msmtp — sendmail-kompatibler SMTP Client dovecot — IMAP-Server [...]]]></description>
			<content:encoded><![CDATA[<p>Demnächst muß ich wohl meine Emails anders verwalten, zustellen, aufheben und sortieren als das bis jetzt über meinen Uni-Account möglich war. Spannende Programme in diesem Zusammenhang scheinen zu sein:</p>
<ul>
<li><a href="http://sup.rubyforge.org/">sup</a> — a mail client for geeks (Leider noch UTF-8-Probleme und wohl etwas buggy)</li>
<li><a href="http://software.complete.org/software/wiki/offlineimap">offlineimap</a> — <a href="http://de.wikipedia.org/wiki/ IMAP" target="_top"  title=" IMAP" > IMAP</a> Synchronisation</li>
<li><a href="http://msmtp.sourceforge.net/index.html">msmtp</a> — <a href="http://de.wikipedia.org/wiki/sendmail" target="_top"  title="sendmail" >sendmail</a>-kompatibler <a href="http://de.wikipedia.org/wiki/SMTP" target="_top"  title="SMTP" >SMTP</a> Client</li>
<li><a href="http://www.dovecot.org/">dovecot</a> — IMAP-Server</li>
<li><a href="http://www.archiveopteryx.org/">Archiveopteryx</a> — IMAP-Server mit Datenbank-Backend</li>
<li><a href="http://squirrelmail.org/">squirrelmail</a> — Webmail</li>
</ul>
<p>Nur wie ich das jetzt alles machen soll, das habe ich noch nicht entschieden :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://jan.essert.name/2010/04/email-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Permute notation in latex documents</title>
		<link>http://jan.essert.name/2009/10/permute-notation-in-latex-documents/</link>
		<comments>http://jan.essert.name/2009/10/permute-notation-in-latex-documents/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 06:09:30 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://jan.essert.name/?p=931</guid>
		<description><![CDATA[This week, I was having a coffee with Petra and Immanuel and we were discussing the importance of good notation. Somehow, the idea of writing a script that permutes the notation in a given document came up, perhaps to illustrate this viewpoint. It sounded like a fun project, and so I wrote permute_notation.py, a short [...]]]></description>
			<content:encoded><![CDATA[<p>This week, I was having a coffee with <a href="http://zuckerundsalz.twoday.net/">Petra</a> and <a href="http://www.immi.karimmi.de/de.math.html">Immanuel</a> and we were discussing the importance of <a href="http://terrytao.wordpress.com/advice-on-writing-papers/use-good-notation/">good</a> <a href="http://en.wikipedia.org/wiki/Mathematical_notation">notation</a>.</p>
<p>Somehow, the idea of writing a script that permutes the notation in a given document came up, perhaps to illustrate this viewpoint.</p>
<p>It sounded like a fun project, and so I wrote <a href="../wp-content/uploads/2009/10/permute_notation.py">permute_notation.py</a>, a short <a href="http://en.wikipedia.org/wiki/Python_%28programming_language%29">Python</a> script that takes a latex file and produces a copy of the file with completely permuted notation. The effects are not really surprising: usually, you do not understand your own work anymore :)</p>
<p>You can <a href="../wp-content/uploads/2009/10/permute_notation.py">download it</a> and try for yourself. It is quite simple to use: <code><a href="../wp-content/uploads/2009/10/permute_notation.py">permute_notation.py</a> input.tex output.tex</code></p>
<p><strong>Attention:</strong> The script unconditionally overwrites <code>output.tex</code>, so be careful!</p>
<p>By default, the script permutes lower and upper case Latin and Greek letters. You can specify the switch <code>-s</code> to permute alphabets only among themselves, such that the text might remain at least barely legible.</p>
<p>As <a href="http://jan.essert.name/2009/09/running-mp3gain-recursively/" title="Running mp3gain recursively in album mode">usual</a>, the script is provided under the <a href="http://www.gnu.org/licenses/gpl-2.0.html">GPL</a>.</p>
<p>Note: This script has been tested to work with my diploma thesis(<a href="../wp-content/uploads/2009/10/permuted.pdf"></a><a href="http://jan.essert.name/wp-content/uploads/2009/10/permuted.pdf">result [PDF]</a>). I hope that it will also work with your document. If not, just copy a latex snippet which is permuted incorrectly into the comments and I will take care of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://jan.essert.name/2009/10/permute-notation-in-latex-documents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running mp3gain recursively in album mode</title>
		<link>http://jan.essert.name/2009/09/running-mp3gain-recursively/</link>
		<comments>http://jan.essert.name/2009/09/running-mp3gain-recursively/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 09:33:05 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[mp3gain]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[replaygain]]></category>

		<guid isPermaLink="false">http://jan.essert.name/?p=900</guid>
		<description><![CDATA[If you are running linux and want to assign replay gain values to your mp3s recursively, you are currently out of luck since mp3gain does not yet have a recursive mode. The simple solution find /path/to/mp3s -iname "*.mp3" -exec mp3gain -r -k -p {} \; only works if you want to have radio gain mode, [...]]]></description>
			<content:encoded><![CDATA[<p>If you are running linux and want to assign <a href="http://en.wikipedia.org/wiki/Replay_Gain">replay gain</a> values to your mp3s recursively, you are currently out of luck since <a href="http://mp3gain.sourceforge.net/">mp3gain</a> does not yet have a recursive mode. The simple solution</p>
<blockquote><p><kbd>find /path/to/mp3s -iname "*.mp3" -exec mp3gain -r -k -p {} \;</kbd></p></blockquote>
<p>only works if you want to have <em>radio gain</em> mode, i.e. all mp3s are brought to uniform common volume.</p>
<p>But if you are like me and you would like to listen to whole albums at a time, the <em>-a</em> switch is your friend and the above solution does no longer work. I have written two small <a href="http://www.python.org/">python</a> scripts which do this, assuming your mp3s are sorted either like this:</p>
<p>artist/single_song.mp3<br />
artist/album/song.mp3</p>
<p>Then you can use <a href="http://jan.essert.name/wp-content/uploads/2009/09/calculate_gain_all_in_one_folder.py">calculate_gain_all_in_one_folder.py</a>. If instead your artists are grouped by initials like so:</p>
<p>initial/artist/single_song.mp3<br />
initial/artist/album/song.mp3</p>
<p>then use <a href="http://jan.essert.name/wp-content/uploads/2009/09/calculate_gain_for_initial_folders.py">calculate_gain_for_initial_folders.py</a>. Both scripts do the right thing, i.e. apply album gain to albums and radio gain to single songs. They are not exactly userfriendly, but you should manage. Both scripts are released under the <a href="http://www.gnu.org/licenses/gpl-2.0.html">GPL</a>.</p>
<p>By the way, <a href="http://sjeng.org/vorbisgain.html">vorbisgain</a> has a recursive mode which works (almost) perfectly (only almost, since it of course does not known when to apply album and when to apply radio gain).</p>
]]></content:encoded>
			<wfw:commentRss>http://jan.essert.name/2009/09/running-mp3gain-recursively/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>LaTeX-Symboltabellen-Ersatz</title>
		<link>http://jan.essert.name/2009/07/latex-symboltabellen-ersatz/</link>
		<comments>http://jan.essert.name/2009/07/latex-symboltabellen-ersatz/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 11:55:59 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Fundsachen]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[LaTeX]]></category>

		<guid isPermaLink="false">http://jan.essert.name/?p=886</guid>
		<description><![CDATA[Lars hat heute etwas echt praktisches verschickt: den LaTex-Symbol-Erkenner! Kein mühsames Suchen in Symboltabellen oder per Google mehr, einfach schnell das Symbol malen, und man kriegt den richtigen TeX-Code :) Super!]]></description>
			<content:encoded><![CDATA[<p>Lars hat heute etwas echt praktisches verschickt: den <a href="http://detexify.kirelabs.org/classify.html">LaTex-Symbol-Erkenner</a>! Kein mühsames Suchen in Symboltabellen oder per Google mehr, einfach schnell das Symbol malen, und man kriegt den richtigen <a href="http://de.wikipedia.org/wiki/TeX" target="_top"  title="TeX" >TeX</a>-Code :) Super!</p>
]]></content:encoded>
			<wfw:commentRss>http://jan.essert.name/2009/07/latex-symboltabellen-ersatz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Schriftarten</title>
		<link>http://jan.essert.name/2009/07/schriftarten/</link>
		<comments>http://jan.essert.name/2009/07/schriftarten/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 08:18:24 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Fundsachen]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Schriftarten]]></category>

		<guid isPermaLink="false">http://jan.essert.name/?p=388</guid>
		<description><![CDATA[Neulich beim Lesen des englischen XeTeX-Wikipedia-Eintrags habe ich einen spanennde Blogeintrag gefunden,  der ein Loblied auf LaTeX und den tollen Schriftsatz singt und dabei ein paar schöne Schriften vorführt, bzw darauf verlinkt. Unter anderem auf diesen tolle Zusammenstellung professioneller und freier Schriftarten. Das hat mich dazu motiviert, selbst ein paar tolle (hauptsächlich OpenType-)Schriftarten zu suchen, [...]]]></description>
			<content:encoded><![CDATA[<p>Neulich beim Lesen des englischen <a href="http://en.wikipedia.org/wiki/XeTeX">XeTeX</a>-Wikipedia-Eintrags habe ich einen spanennde Blogeintrag gefunden,  der ein <a href="http://nitens.org/taraborelli/latex">Loblied auf LaTeX und den tollen Schriftsatz</a> singt und dabei ein paar schöne Schriften vorführt, bzw darauf verlinkt. Unter anderem auf diesen tolle <a href="http://www.alvit.de/blog/article/20-best-license-free-official-fonts">Zusammenstellung professioneller und freier Schriftarten</a>.</p>
<p>Das hat mich dazu motiviert, selbst ein paar tolle (hauptsächlich <a href="http://de.wikipedia.org/wiki/OpenType" target="_top"  title="OpenType" >OpenType</a>-)Schriftarten zu suchen, und eine kleine Zusammenstellung zu schreiben. Benutzen kann man so etwas natürlich sehr gut z.B. mit <a href="http://www.scribus.net/">scribus</a>, einem sehr guten Open-Source-Desktop-Publishing-Programm. Hier also eine kleine Auswahl:</p>
<ul>
<li><a href="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;id=gentium">Gentium</a></li>
<li><a href="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;id=CharisSILFont">Charis</a></li>
<li><a href="http://www.josbuivenga.demon.nl/fontin.html">Fontin</a></li>
<li><a href="http://www.josbuivenga.demon.nl/delicious.html">Delicious</a></li>
<li><a href="http://www.josbuivenga.demon.nl/diavlo.html">Diavlo</a></li>
<li><a href="http://www.josbuivenga.demon.nl/fertigo.html">Fertigo Pro</a> (und eigentlich alle Schriften von der <a href="http://www.josbuivenga.demon.nl/index.html">exljbris Font Foundry</a>)</li>
<li><a href="http://scholarsfonts.net/cardofnt.html">Cardo</a></li>
</ul>
<p>In den <a href="http://praegnanz.de/essays">Essays von praegnanz.de</a> gibt es außerdem sehr schöne Artikel über freie Schriften und ihre Anwendung und daher noch viele Anregungen.</p>
]]></content:encoded>
			<wfw:commentRss>http://jan.essert.name/2009/07/schriftarten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monkey Island</title>
		<link>http://jan.essert.name/2009/07/monkey-island/</link>
		<comments>http://jan.essert.name/2009/07/monkey-island/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 12:11:38 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Computerspiele]]></category>

		<guid isPermaLink="false">http://jan.essert.name/?p=824</guid>
		<description><![CDATA[Mannomann, so viele gute Nachrichten an einem Tag! Gerade gefunden: Anscheinend kommt morgen der erste Teil von Tales of Monkey Island, einer Episoden-Fortsetzung der legendären Monkey Island-Spiele heraus!! Das gab es ja schon für Sam &#38; Max und war auch sehr lustig! Total cool! Gleichzeitig habe ich gesehen, dass außerdem LucasArts eine neue, aufgemotzte Version [...]]]></description>
			<content:encoded><![CDATA[<p>Mannomann, so viele gute Nachrichten an einem Tag!</p>
<p>Gerade gefunden: Anscheinend kommt morgen der erste Teil von <a href="http://www.telltalegames.com/monkeyisland">Tales of Monkey Island</a>, einer Episoden-Fortsetzung der legendären <a href="http://de.wikipedia.org/wiki/Monkey Island" target="_top"  title="Monkey Island" >Monkey Island</a>-Spiele heraus!! Das gab es ja schon für <a href="http://de.wikipedia.org/wiki/Sam &amp; Max" target="_top"  title="Sam &amp; Max" >Sam &amp; Max</a> und war auch sehr lustig! Total cool!</p>
<p>Gleichzeitig habe ich gesehen, dass außerdem LucasArts eine neue, <a href="http://www.lucasarts.com/games/monkeyisland/">aufgemotzte Version von The Secret of Monkey Island</a> rausbringt. Keine Ahnung, ob das gut ist, aber das wäre ja vielleicht ein Anlaß, das mal wieder zu spielen :)</p>
<p>Und weil wir gerade am Surfen sind, dieses <a href="http://www.hotheadgames.com/deathspank.php">neue Projekt</a> von <a href="http://de.wikipedia.org/wiki/Ron Gilbert" target="_top"  title="Ron Gilbert" >Ron Gilbert</a> sieht auch lustig aus.</p>
]]></content:encoded>
			<wfw:commentRss>http://jan.essert.name/2009/07/monkey-island/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KDE 4.3 Counter</title>
		<link>http://jan.essert.name/2009/07/kde-4-3-counter/</link>
		<comments>http://jan.essert.name/2009/07/kde-4-3-counter/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 06:19:00 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://jan.essert.name/?p=790</guid>
		<description><![CDATA[Ich warte gespannt auf KDE 4.3. Einen Release Candidate gibt es schon. Leider hatte ich keine Zeit, um ihn mal zu testen. Mit Hilfe des kde-testing Overlays wäre das auf Gentoo sicher ganz leicht gewesen. Die neuen Features sehen spannend aus, insbesondere stark verbessertes Plasma und ein neuer Systray. Natürlich sind wir alle noch gespannter [...]]]></description>
			<content:encoded><![CDATA[<p>Ich warte gespannt auf <a href="http://www.kde.org/">KDE</a> 4.3. Einen <a href="http://www.kde.org/announcements/announce-4.3-rc1.php">Release Candidate</a> gibt es schon. Leider hatte ich keine Zeit, um ihn mal zu testen. Mit Hilfe des <a href="http://git.overlays.gentoo.org/gitweb/?p=proj/kde.git;a=summary">kde-testing Overlays</a> wäre das auf <a href="http://www.gentoo.org">Gentoo</a> sicher ganz leicht gewesen.</p>
<p>Die neuen Features sehen spannend aus, insbesondere <a href="http://aseigo.blogspot.com/2009/06/kde-43-plasma-overview-screencast.html">stark verbessertes Plasma</a> und ein neuer Systray. Natürlich sind wir alle noch gespannter auf <a href="http://aseigo.blogspot.com/2009/07/plasma-in-kde-44.html">neue Features</a> in KDE 4.4 :)</p>
<p>Und damit jeder weiß, wie lange er oder sie noch genau warten muss:</p>
<div style="text-align:center;padding-top:0.5em">
<script type="text/javascript">
Size = 'Banner'; // default value for 186x60 size
// Size = 'Square'; // for 125x125 square size
Lang = 'De'; //Use your own language abbreviation to get strings in your language
</script><script type="text/javascript" src="http://games.kde.org/counters/4.3/Slideshow.js"></script>
</div>
<p>Edit: Eigentlich sollte hier ein hübscher Zähler auftauchen, der die Tage bis KDE 4.3 zählt. Leider scheint der nur sehr selten zu funktionieren. Vielleicht klappt es ja bei euch?</p>
]]></content:encoded>
			<wfw:commentRss>http://jan.essert.name/2009/07/kde-4-3-counter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KDE4.1 in Gentoo mit Nvidia-Karte</title>
		<link>http://jan.essert.name/2008/12/kde41-in-gentoo-mit-nvidia-karte/</link>
		<comments>http://jan.essert.name/2008/12/kde41-in-gentoo-mit-nvidia-karte/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 08:04:03 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://jan.essert.name/?p=725</guid>
		<description><![CDATA[Kurze Notiz, falls es jemandem hilft: Falls euer KDE4.1 sofort nach dem Einloggen den gesamten X-Server zum Abstürzen bringt, hilft vielleicht, wie bei mir, die Option backingstore in der xorg.conf auf false zu setzen. Funktioniert bei mir super, ich weiß nur nicht, ob ich jetzt auf KDE4 umsteigen soll.]]></description>
			<content:encoded><![CDATA[<p>Kurze Notiz, falls es jemandem hilft:</p>
<p>Falls euer KDE4.1 sofort nach dem Einloggen den gesamten X-Server zum Abstürzen bringt, hilft vielleicht, wie bei mir, die Option<code> backingstore</code> in der xorg.conf auf <code>false</code> zu setzen.<br />
Funktioniert bei mir super, ich weiß nur nicht, ob ich jetzt auf KDE4 umsteigen soll.</p>
]]></content:encoded>
			<wfw:commentRss>http://jan.essert.name/2008/12/kde41-in-gentoo-mit-nvidia-karte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amarok 2.0 RC1</title>
		<link>http://jan.essert.name/2008/11/amarok-20-rc1/</link>
		<comments>http://jan.essert.name/2008/11/amarok-20-rc1/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 14:40:12 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://jan.essert.name/?p=719</guid>
		<description><![CDATA[Der erste Release Candidate von Amarok 2.0 ist draußen. Warum ist immer noch Beta 1 die aktuellste Version in portage? Mein KDE 4.1 geht aber irgendwie eh nicht, und ich hab weder Zeit noch Lust, es zu reparieren. KDE 3.5.10 läuft super, schnell und stabil&#8230;aber auf Amarok 2.0 bin ich trotzdem gespannt!]]></description>
			<content:encoded><![CDATA[<p>Der erste Release Candidate von Amarok 2.0 <a href="http://amarok.kde.org/de/node/579">ist draußen</a>. Warum ist immer noch Beta 1 die aktuellste Version in portage? Mein KDE 4.1 geht aber irgendwie eh nicht, und ich hab weder Zeit noch Lust, es zu reparieren. KDE 3.5.10 läuft super, schnell und stabil&#8230;aber auf <a href="http://amarok.kde.org/">Amarok 2.0</a> bin ich trotzdem gespannt!</p>
]]></content:encoded>
			<wfw:commentRss>http://jan.essert.name/2008/11/amarok-20-rc1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On using unison to synchronise files efficiently between Windows and Linux machines</title>
		<link>http://jan.essert.name/2008/11/on-using-unison-to-synchronise-files-efficiently-between-windows-and-linux-machines/</link>
		<comments>http://jan.essert.name/2008/11/on-using-unison-to-synchronise-files-efficiently-between-windows-and-linux-machines/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 14:02:41 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[howto]]></category>

		<guid isPermaLink="false">http://jan.essert.name/?p=698</guid>
		<description><![CDATA[Suppose you have two computers, one running Linux, the other one Windows. Suppose further there is a directory on each computer which has to be kept synchronised between those computers. Worst of all, changes might be made to each directory at the same time, so synchronising is not a simple matter of copying files. This [...]]]></description>
			<content:encoded><![CDATA[<p>Suppose you have two computers, one running Linux, the other one Windows. Suppose further there is a directory on each computer which has to be kept synchronised between those computers. Worst of all, changes might be made to each directory at the same time, so synchronising is not a simple matter of copying files.</p>
<p>This situation is (relatively) easily manageable with <a href="http://www.cis.upenn.edu/~bcpierce/unison/">unison</a>, a file-synchronizing tool running both under Linux and Windows. It is very fast, works locally and over SSH connections and does a very good job in detecting changes and deletes. There are plenty of good tutorials to be found and it has an <a href="http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html">excellent manual</a>.</p>
<p>However, there are problems concerning non-ASCII characters, as can be read in the <a href="http://en.wikipedia.org/wiki/Unison_(file_synchronizer)">unison Wikipedia entry</a>: <q>Note that when synchronising data between different computer systems, Unison has significant problems if the file names contain accented or international characters.</q></p>
<p>This is certainly true, because unison itself does not do any encoding translation. However, with <a href="http://www.cygwin.com/">Cygwin</a> and the excellent <a href="http://www.okisoft.co.jp/esc/utf8-cygwin/">UTF-8 Cywgin project</a>, it is not hard to make things just work. However, information on this method is scant, and I had to search for a longer time. This is why I decided to write a short tutorial to make things easier for other people having this problem.</p>
<p>Important: This will only work if your Linux machine is configured to use a <a href="http://en.wikipedia.org/wiki/UTF-8">UTF-8</a> locale. As far as I know, this is standard in most modern Linux distributions. For Gentoo, see <a href="http://www.gentoo.org/doc/en/utf-8.xml">‘Using UTF-8 with Gentoo’</a>. All you have to do is to enable the unicode use flag and set unicode=&#8221;YES&#8221; in /etc/rc.conf.</p>
<ol>
<li>Install unison (and openssh, if it is not installed yet) on the Linux machine. In <a href="http://www.gentoo.org/">Gentoo</a>, a simple <code>emerge unison</code> as root is enough, it should not be much harder in other Linux distributions. Remember the version number of unison — the major and minor version of unison have to agree on both computers. The one I used is 2.27.</li>
<li>Start the ssh daemon on the Linux machine. In Gentoo, enter <code>/etc/init.d/sshd start</code> as root.</li>
<li>On the Windows machine, go to the <a href="http://www.cygwin.com/">Cygwin</a> website and download <code>setup.exe</code>. Start the installer, click through and select <code>openssh</code> and <code>unison</code> to be installed as well. Make sure that you have identical major and minor versions of unison on both computers!</li>
<li>Here is the important step: Go to the <a href="http://www.okisoft.co.jp/esc/utf8-cygwin/">UTF-8 Cygwin</a> project page and download the binary <code>cywgin1.dll</code> package (currently called <code>cygwin1-dll-20-11-18.tar.bz2</code>). Unpack the dll and put it into <code>c:\CYGWIN\bin</code>, assuming that is where you installed Cygwin, and replace the standard dll with it. This dll translates the internal Windows file name encoding to UTF-8, magically making unison ‘just work’.</li>
<li>Start cygwin and run <code>unison</code> once to set up the home directory.</li>
<li>Edit <code>~/.unison/default.pdf</code> or <code>c:\CYGWIN\home\username\.unison\default.pdf</code>, respectively, (perhaps with a text editor which is able to respect UNIX line breaks, I am not sure about that) to configure unison. An easy example is<br />
<blockquote><p><code>root = /cygdrive/drive_letter/Path/to/Directory to synchronize/<br />
root = ssh://user@linux_computer//home/user/path/</code></p>
</blockquote>
<p>Detailed descriptions of the file format can be found in the <a href="http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html">unison manual</a>. For Gentoo, do not forget to add <code>addversionno = true</code>, since the name of the unison binary is actually <code>unison-2.27</code>.</p>
</li>
<li>Start unison by either starting a Cygwin shell and entering <code>unison</code> or just by executing <code>C:\CYGWIN\bin\unison-2.27.exe</code> directly. Enter your Linux machine password, and everything should work.</li>
</ol>
<p>The first synchronisation <em>will</em> take a long time, but subsequent runs will be <em>much</em> faster. Determining changed files in about 50GB of data takes less than 5 minutes for me. Transferring the changed files is done via rsync which is also quite efficient, but this of course depends largely on the amount of changed data. This should work in a local network as well as over the internet. I encourage you to try, I highly recommend it.</p>
]]></content:encoded>
			<wfw:commentRss>http://jan.essert.name/2008/11/on-using-unison-to-synchronise-files-efficiently-between-windows-and-linux-machines/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
