<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
 <atom:link href="http://atsutane.freethoughts.de/feed/rss" rel="self" type="application/rss+xml" />
 <title>Atsutanes kleiner Blog</title>
 <link>http://atsutane.freethoughts.de/</link>
 <description>Atsutanes kleiner Blog / Atsutanes small Blog</description>
 <generator>Devbird v0.4.2 - http://www.badboy.pytalhost.de/</generator>

 <item>
  <title>Früher Userspace bei Arch Linux</title>
  <description>
<![CDATA[
Dieser Eintrag ist eine Übersetzung von brain0s <a href="http://archlinux.me/brain0/2010/02/13/early-userspace-in-arch-linux/">Early Userspace in Arch Linux</a> für jene Arch Linux Nutzer, welche mit dem Englischen dann doch ihre Probleme haben, keine Gewähr auf Fehlerfreiheit. Dieser Eintrag unterliegt <strong>nicht</strong> der im Impressum angegebenen Lizenz, die Rechte liegen bei Thomas Bächler, die Übersetzung ist mit seinem Einverständnis erfolgt. <br />
</p>
<pre class="code">
<code>
&nbsp;</code>
</pre>
<p><br />
In letzter Zeit gab es einige große Änderungen bei Archs Programmen des fühen Userspace. Also dachte ich mir, dass ich mir die Zeit nehme und allen diese Änderungen erläutere.<br />
<br />
</p>
<h3>Bootvorgang von Linuxsystemen: Wofür braucht man einen frühen Userspace?</h3>
<p>
Früher war das starten eines Linux Systems einfach: Der bootloader lud den Kernel, dieser wurde extrahiert und initialisierte die Hardware, danach initialisierte er den Festplatten-Controller, erkannte die Festplatte und das sich darauf befindliche Root-Dateisystem, band dieses ein uns startete <i>/sbin/init</i>.<br />
<br />
Heutzutage gibt es eine gigantische Menge an unterschiedlichen Controllern und eine große Anzahl unterschiedlicher Dateisysteme, da wir eine ordentliche Distribution sind möchten wir alle unterstützen. Also bauen wir sie alle in unser monolithisches Kernelimage welches nun mehrere Megabyte groß ist alles bis zur Küchenspüle unterstützt, aber dann kommt jemand und hat zwei SATA-Controller, drei IDE-Controller, sieben Festplatten sowie drei externe USB-Laufwerke und wer weiß was. Der Kernel erkennt diese nun alle asynchron, aber wo ist nun bitte das Root-Dateisystem? Ist es auf der ersten Festplatte? Oder auf der dritten? Was ist &quot;die erste Festplatte&quot; überhaupt? Und wie binde ich mein Root-Dateisystem in der LVM Laufwerksgruppe im verschlüsselten Container auf dem Software RAID-Array ein? Wie man sieht wird das alles etwas hässlich und der Kernel stellt sich gerne dumm oder kümmert sich einfach nicht um diese nervtötenden Probleme, besonders nachdem er durch uns - die wir ihn mit jeden erdenklichen Treiber gefüttert haben - so fett wurde.<br />
<br />
Was nun? Ganz einfach, wir übergeben die Kontrolle dem Userspace und regeln die Erkennung der Hardware dort, richten den ganzen komplizierten und von den Leuten gewünschten Kram ein, binden das Root-Dateisystem ein und starten <i>/sbin/init</i> selbst. Nun frägst du dich sicherlich &quot;Wie führe ich Applikationen im Userspace aus, wenn das Root-Dateisystem nicht eingebunden ist?&quot; die Antwort darauf lautet &quot;Magie!&quot;.<br />
<br />
</p>
<h3>Was ist initramfs?</h3>
<p>
Naja die Antwort ist nicht Magie. Die Antwort lautet eigentlich initramfs: Jedes Linux System hat ein <i>ramfs</i> Dateisystem, welches immer eingebunden ist und <i>rootfs</i> heißt. Wahrscheinlich wirst du dieses nie sehen, da deine wirklichen Dateisysteme es nach dem Einbinden überdecken. Allerdings führt der Kernel auch ein komprimiertes cpio Archiv mit sich, welches direkt nach dem Start in das rootfs extrahiert wird. Noch besser: Es ist sogar möglich aus dem Bootloader heraus ein solches Archiv an den Kernel anzuhängen, welches dann ebenfalls in das rootfs entpackt wird.<br />
<br />
Bevor der Kernel den altmodischen init Code ausführt, prüft er, ob das rootfs eine Datei namens <i>/init</i> enthält, ist dies der Fall überspringt er den klassischen Einbindungs- und Initcode und führt stattdessen <i>/init</i> aus. Nun liegt die Verantwortung für diese Aufgabe, welche für den Kernel als zu kompliziert eingeschätzt wird, bei diesem Programm. Auf diese Weise können wir einen Kernel, welcher keinerlei eingebaute Unterstützung für einen Festplatten-Controller auch nur für irgendein Dateisystem bietet(das ist eigentlich, was wir mit dem Arch Linux Standardkernel machen) bauen und fügen die benötigten Module schlichtweg in das initramfs Image ein.<br />
<br />
</p>
<h3>klibc - Das Fegefeuer für die Initramfs Maintainer</h3>
<p>
klibc wurde ursprünglich als kleine leichtgewichtige C Bibliothek für den frühen Userspace entwickelt. Sie bringt einige Programme mit, welche einem dabei helfen alles Einzurichten. Mit <i>klcc</i> führt sie sogar ein hässliches Perlskript mit, welches den gcc aufruft und Binärdateien gegen die klibc anstatt die übliche libc linkt. Als Aaron Griffin 2006 <i>mkinitcpio</i> als Ersatz für die alten, unflexiblen Skripte <i>mkinitrd</i> und <i>mkinitramfs</i> entwickelte, wurde entschieden es auf klibc basieren zu lassen. Von Anfang an hatte klibc Probleme: 
<ul class="bb-list-unordered"><li class="bb-listitem">Das Set an mitgelieferten Programmen war begrenzt und den Programmen fehlten wichtige Optionen.</li>
<li class="bb-listitem">Die meisten externen Programme liesen sich nicht gegen die klibc linken oder mussten dafür stark gepatcht werden.</li>
<li class="bb-listitem">Es gab keinen dynamischen Linker, alle Binärdateien wurden statisch gegen eine spezifische Version der klibc gelinkt, diese Version änderte sich mit jeder Änderung an den klibc Quellen oder der Kernelheader, was dann wieder den Neubau aller - gegen die klibc gelinkten - Binärdateien nötig machte.</li>
<li class="bb-listitem">Es war nicht möglich andere dynamische Bibliotheken, als die klibc selbst zu erstellen.</li>
</ul>
All das resultiere in großem Arbeitsaufwand für die Instandhaltung von <i>udev</i> und den <i>module-init-tools</i>, wir mussten auch ein kleines <i>klibc-extra</i> Paket verwalten, welches die fehlenden klibc Programme mit unseren eigenen ersetzte. Fortgeschrittenere Programme wie <i>lvm</i> oder <i>cryptsetup</i> mussten wir statisch gegen die <i>glibc</i> linken und so bereitstellen.<br />
<br />
Irgendwann war klibc inkompatibel zu den Kernelheadern und wir mussten mehr und mehr Hacks einführen um es aktualisieren zu können. Seit Linux 2.6.30 war ich nicht in der Lage überhaupt eine funktionierende Version der klibc zu bauen, was uns mit einer alten Binärdatei zurückließ, bei welcher wir nicht einmal mehr Bugs fixen konnten. Mitte 2009 starb dann upstream vollkommen, keine commits ins git Repository und acuh auf der Mailingliste gab es nur eine Hand voll Mails pro Monat. Das brachte mich dazu, mir folgende Frage zu stellen: &quot;Worin besteht der Sinn eine seperate C Bibliothek zusammen mit Programmen zu verwalten, welche nur für den Bruchteil einer Sekunde beim Start des Systems Verwendung finden?&quot; Außer einem kleineren initramfs Image und dadurch verkürzte Bootzeit vermutlich nichts.<br />
<br />
</p>
<h3>Es einfach halten</h3>
<p>
2009 entschied ich dann, dass um eine initramfs Umgebung mit geringem Verwaltungsaufwand, vielen Funktionen und großer Flexibilität, die folgenenden Änderungen nötig waren: 
<ul class="bb-list-unordered"><li class="bb-listitem">Verwendung der C Bibliothek des Systems und keiner seperaten.</li>
<li class="bb-listitem">Die Verwendung von busybox für grundlegende System- und Skriptingprogramme, um einen guten Kompromiss ziwschen hoher Funktionalität und kleiner Dateigröße zu finden.</li>
<li class="bb-listitem">Die Verwendung von util-linux-ngs blkid, um Label von Dateisystemen, UUID und Typerkennung vollständig für alle neuen und alten Dateisysteme zu haben.</li>
<li class="bb-listitem">Die Verwendung von modprobe, udev, lvm, cryptsetup, mdadm/mdassemble aus den normalen Arch Paketen für weitere fortgeschrittene Funktionen.</li>
</ul>
Auf diese Weise müsste ich neben <i>mkinitcpio</i> selbst nur noch eine ordentlich konfigurierte busybox Binärdatei verwalten. Ich setzte busybox seit geraumer Zeit auf meinen OpenWRT Routern und wusste daher wie beeindruckend es war. Es stellte sich außerdem heraus, dass die Implementierung von <i>NFS</i> Root-Unterstützung einfacher war, wenn wir die mit der klibc gelieferten Programme <i>nfsmount</i> und <i>ipconfig</i> nutzten.<br />
<br />
Nun ist es Februar 2010 und in den letzten Wochen hatte ich endlich die Zeit, die ganze Arbeit zu erledigen. Erst vor wenigen Tagen veröffentlichte ich mkinitcpio 0.6, diese Version ist deutlich stabiler, flexibler und weniger fehleranfällig als jede klibc-basierte Version die wir je hatten. Das initramfs ist nun um Durchschnitt 600KB bis 1MB größer, ich glaube nicht, dass sich deswegen jemand beschwert, es ist immer noch kleiner als bei den meisten anderen Distributionen. Ich bin froh, dass ich hoffentlich nie wieder mit klibc zu tun haben werde.
]]>
</description>
  <link>http://atsutane.freethoughts.de/131/fr-her-userspace-bei-arch-linux</link>
  <guid>http://atsutane.freethoughts.de/131/fr-her-userspace-bei-arch-linux</guid>
  <pubDate>Sat, 13 Feb 2010 20:00:58 +0100</pubDate>
 </item>
 <item>
  <title>Stöckchen...</title>
  <description>
<![CDATA[
Ich halte die eigentliche Idee hinter &quot;Stöckchen&quot; eigentlich nicht für schlecht, wenn es um sinnvolle Themen geht, den den <a href="http://kabarakh.de/blog/2010/01/11/plock-au/">Kabarakh</a> mir da aber &quot;zugeworfen&quot; hat mag ich dennoch nicht sonderlich, aber man will ja kein Spielverderber sein.<br />
<br />
<strong>Warum bloggst du?</strong><br />
Um Dinge, welche für mehrere Bereiche des Netzes in denen ich aktiv bin, nochmal gesondert Platz einzuräumen, dass spiegelt sich zwar nicht in jedem Eintrag(beispielsweise diesem hier) wider, ist aber dennoch die eigentliche Intention.<br />
<br />
<strong>Seit wann bloggst du?</strong><br />
Ohm da waren vor Jahren schonmal gemeinsame Blogs mit hanshiro bei Bloghostern, da bin ich zu faul nach zu schauen, dieser hier wird seit dem Frühjahr 2008 von mir geführt.<br />
<br />
<strong>Warum lesen deine Leser deinen Blog?</strong><br />
Langeweile? Noch nicht gelangweilt genug um einzuschlafen? Ich weiß es nicht.<br />
<br />
<strong>Welche war die letzte Suchanfrage, über die jemand auf deine Seite kam?</strong><br />
<i>urxvt borderless</i> - interessant, da weiß wohl jemand nicht, wie er eher an eine brauchbare Antwort käme, mein Artikel für <a href="http://atsutane.freethoughts.de/86/ein-terminal-auf-dem-fluxbox-desktop">Fluxbox</a> wird ihm bei einem anderen Window Manager nur bedingt geholfen haben.<br />
<br />
<strong>Welcher deiner Blogeinträge bekam zu Unrecht zu wenig Aufmerksamkeit?</strong><br />
Dazu kann ich recht wenig sagen, ich denke die meisten Leser meiner Texte bekommen sie über den Feed eines Planets förmlich aufgezwungen. ;-)<br />
<br />
<strong>Dein aktuelles Lieblingsblog?</strong><br />
Puh, ich mag eigentlich alle in meinem Feedreader, aber etwas Werbung für den Schweizer <a href="http://www.hackerfunk.ch/">Hackerfunk</a> ist dennoch angebracht.<br />
<br />
<strong>Welches Blog hast du zuletzt gelesen?</strong><br />
So richtig gelesen? <a href="http://archlinux.me/dusty/2010/01/13/fixing-git-bash-completion/">Dustys</a> über die git tab-completition in der bash, danach habe ich Kabarakhs Fragen kopiert.<br />
<br />
<strong>Wieviele Feeds hast du gerade im Moment abonniert?</strong><br />
85 - <a href="http://www.newsbeuter.org/">newsbeuter</a> ist klasse.<br />
<br />
<strong>An welche fünf Blogs wirfst du das Stöckchen weiter und warum?</strong><br />
Da ich - wie gesagt - an diesem hier keinen wirklichen Gefallen finde, an niemanden, ich lege es quasi vor die Tür, so dass jeder der es möchte aufheben kann.<br />

]]>
</description>
  <link>http://atsutane.freethoughts.de/130/st-ckchen</link>
  <guid>http://atsutane.freethoughts.de/130/st-ckchen</guid>
  <pubDate>Wed, 13 Jan 2010 21:33:16 +0100</pubDate>
 </item>
 <item>
  <title>&lt;/year&gt;&lt;year name='2010'&gt;</title>
  <description>
<![CDATA[
2009 geht zu Ende, Zeit mal die gröbsten Eckpunkte aus diesem Jahr hier zusammenzufassen.
<ul class="bb-list-unordered"><li class="bb-listitem">Im Frühjahr die x-te Feststellung, dass es in Heidelberg einen Chaostreff gibt, diesmal jedoch auch mit anschließendem Besuch und Beitritt in den <a href="http://www.noname-ev.de">NoName e.V.</a></li>
<li class="bb-listitem">Abschluss der Schullaufbahn.</li>
<li class="bb-listitem"><a href="http://blog.expertura.de/">BadBoy_</a> kam im Sommer zu Besuch.</li>
<li class="bb-listitem">Der <a href="http://atsutane.freethoughts.de/119/froscon-2009-bericht">Besuch</a> der <a href="http://www.froscon.de">FrOSCon</a> in St.Augustin.</li>
<li class="bb-listitem">Beginn des Informatikstudiums in Mannheim.</li>
<li class="bb-listitem">Die Ernennung zum Trusted User bei <a href="http://www.archlinux.org">Arch Linux</a>.</li>
</ul>
Dann will ich euch mal nicht weiter langweilen, sondern wünsche euch eine angenehme Feier ins neue Jahr, hoffen wir mal, dass dies auch für <a href="https://webkeks.org/blog/?id=55">js der Fall sein wird</a>.
]]>
</description>
  <link>http://atsutane.freethoughts.de/129/year-year-name-2010</link>
  <guid>http://atsutane.freethoughts.de/129/year-year-name-2010</guid>
  <pubDate>Thu, 31 Dec 2009 15:23:55 +0100</pubDate>
 </item>
 <item>
  <title>Shellfunctions making the usage of chroots easier</title>
  <description>
<![CDATA[
As ArchLinux user one has to build his packages in chroots in order to make sure, that everything is fine with them and the package will build on other people's machines. ArchLinux provides several scripts which makes this easier with the <strong>devtools</strong> package. How they are used is described in the <a href="http://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot">DeveloperWiki</a>. So as you can see this is really simple but if you have a real build machine and want to build your packages with different chroots it helps a lot to have a function in your shell configuration, note that I use a x86_64 system, so the last two functions need small modifications to run on an i686 installation. <br />
<br />
</p>
<pre class="code">
<code>
<span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">mktesting=</span><span style="color: #ff0000;">&quot;mkchr testing64 &amp;&amp; mkchr testing32&quot;</span>
<span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">mkstable=</span><span style="color: #ff0000;">&quot;mkchr stable64 &amp;&amp; mkchr stable32&quot;</span>

<span style="color: #666666; font-style: italic;"># Update the given chroot/all</span>
<span style="color: #000000; font-weight: bold;">function</span> upchr<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> $<span style="color: #000000;">1</span> = <span style="color: #ff0000;">&quot;all&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">e</span>[1;32mUpdating the <span style="color: #000099; font-weight: bold;">e</span>[1;31mstable32<span style="color: #000099; font-weight: bold;">e</span>[1;32m chroot.<span style="color: #000099; font-weight: bold;">e</span>[0m'</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> mkarchroot -u <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>chroots<span style="color: #000000; font-weight: bold;">/</span>stable32<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">e</span>[1;32mUpdating the <span style="color: #000099; font-weight: bold;">e</span>[1;31mtesting32<span style="color: #000099; font-weight: bold;">e</span>[1;32m chroot.<span style="color: #000099; font-weight: bold;">e</span>[0m'</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> mkarchroot -u <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>chroots<span style="color: #000000; font-weight: bold;">/</span>testing32<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">e</span>[1;32mUpdating the <span style="color: #000099; font-weight: bold;">e</span>[1;31mstable64<span style="color: #000099; font-weight: bold;">e</span>[1;32m chroot.<span style="color: #000099; font-weight: bold;">e</span>[0m'</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> mkarchroot -u <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>chroots<span style="color: #000000; font-weight: bold;">/</span>stable64<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">e</span>[1;32mUpdating the <span style="color: #000099; font-weight: bold;">e</span>[1;31mtesting64<span style="color: #000099; font-weight: bold;">e</span>[1;32m chroot.<span style="color: #000099; font-weight: bold;">e</span>[0m'</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> mkarchroot -u <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>chroots<span style="color: #000000; font-weight: bold;">/</span>testing64<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span> 
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">elif</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> $<span style="color: #000000;">1</span> = <span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">e</span>[1;32mUpdating the <span style="color: #000099; font-weight: bold;">e</span>[1;31m'</span>$<span style="color: #000000;">1</span><span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">e</span>[1;32m chroot.<span style="color: #000099; font-weight: bold;">e</span>[0m'</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> mkarchroot -u <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>chroots<span style="color: #000000; font-weight: bold;">/</span>$<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>

<span style="color: #666666; font-style: italic;"># Build the package with the given chroot</span>
<span style="color: #000000; font-weight: bold;">function</span> mkchr<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> $<span style="color: #000000;">1</span> = <span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">e</span>[1;32mBuilding package using the <span style="color: #000099; font-weight: bold;">e</span>[1;31m'</span>$<span style="color: #000000;">1</span><span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">e</span>[1;32m chroot.<span style="color: #000099; font-weight: bold;">e</span>[0m'</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> makechrootpkg -c -r <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>chroots<span style="color: #000000; font-weight: bold;">/</span>$<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>

<span style="color: #666666; font-style: italic;"># Create a set of stable chroots for both architectures</span>
<span style="color: #000000; font-weight: bold;">function</span> create_stable_chroots <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> -p $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>stable64 $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>stable32
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># 64 Bit Chroot</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> mkarchchroot $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>stable64<span style="color: #000000; font-weight: bold;">/</span>root base base-devel <span style="color: #c20cb9; font-weight: bold;">sudo</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #007800;">$EDITOR</span> $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>stable64<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>pacman.d<span style="color: #000000; font-weight: bold;">/</span>mirrorlist
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># 32 Bit Chroot</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> -e <span style="color: #ff0000;">'s/x86<span style="color: #000099; font-weight: bold;">_</span>64/i686/g'</span> $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>stable64<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>pacman.d<span style="color: #000000; font-weight: bold;">/</span>mirrorlist <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>mirrorlist
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sed</span> -e <span style="color: #ff0000;">'s@/etc/pacman.d/mirrorlist@/tmp/mirrorlist@g'</span> $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>stable64<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>pacman.conf <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>pacman.conf
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> mkarchchroot $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>stable32<span style="color: #000000; font-weight: bold;">/</span>root base base-devel <span style="color: #c20cb9; font-weight: bold;">sudo</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Created stable32 and stable64 under .&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>

<span style="color: #666666; font-style: italic;"># Create a set of testing chroots for both architectures</span>
<span style="color: #000000; font-weight: bold;">function</span> create_testing_chroots <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> -p $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>testing64 $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>testing32
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># 64 Bit Chroot</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> mkarchchroot $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>testing64<span style="color: #000000; font-weight: bold;">/</span>root base base-devel <span style="color: #c20cb9; font-weight: bold;">sudo</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #007800;">$EDITOR</span> $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>testing64<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>pacman.conf
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #007800;">$EDITOR</span> $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>testing64<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>pacman.d<span style="color: #000000; font-weight: bold;">/</span>mirrorlist
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># 32 Bit Chroot</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> -e <span style="color: #ff0000;">'s/x86<span style="color: #000099; font-weight: bold;">_</span>64/i686/g'</span> $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>testing64<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>pacman.d<span style="color: #000000; font-weight: bold;">/</span>mirrorlist <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>mirrorlist
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sed</span> -e <span style="color: #ff0000;">'s@/etc/pacman.d/mirrorlist@/tmp/mirrorlist@g'</span> $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>testing64<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>pacman.conf <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>pacman.conf
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> mkarchchroot $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>testing32<span style="color: #000000; font-weight: bold;">/</span>root base base-devel <span style="color: #c20cb9; font-weight: bold;">sudo</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #007800;">$EDITOR</span> $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>testing32<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>pacman.conf
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #007800;">$EDITOR</span> $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>testing32<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>pacman.d<span style="color: #000000; font-weight: bold;">/</span>mirrorlist
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Created testing32 and testing64 under .&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;</code>
</pre>
<p><br />
<br />
If your shell is not bash compatible, the functions may need small modifications.
]]>
</description>
  <link>http://atsutane.freethoughts.de/128/shellfunctions-making-the-usage-of-chroots-easier</link>
  <guid>http://atsutane.freethoughts.de/128/shellfunctions-making-the-usage-of-chroots-easier</guid>
  <pubDate>Mon, 28 Dec 2009 15:16:54 +0100</pubDate>
 </item>
 <item>
  <title>newsbeuter 2.1 veröffentlicht</title>
  <description>
<![CDATA[
Am gestrigen Abend hat Andreas Krennmair <a href="http://newsbeuter.wordpress.com/2009/12/08/finally-newsbeuter-2-1-released/">den Terminal Feedreader newsbeuter in der Version 2.1 freigegeben</a>. Zu den Neuerungen zählen unter anderem:
<ul class="bb-list-unordered"><li class="bb-listitem">Support von 256 Farben unterstützenden Terminals</li>
<li class="bb-listitem">Support von SOCKS Proxies.</li>
<li class="bb-listitem">notify-beep Option(Sehr nützlich in Kombination mit dem Urgency Hint - siehe <a href="http://atsutane.freethoughts.de/126/irssi-screen-urxvt-configuring-the-urgency-hint">vorheriger Artikel</a>)</li>
<li class="bb-listitem">Automatische Selektierung des ersten ungelesenen Artikels in einem Feed.</li>
<li class="bb-listitem">Verbessertes HTML Rendering.</li>
<li class="bb-listitem">Artikel können nun auch aus der Artikelansicht heraus gelöscht werden.</li>
</ul>
Außerdem wurden natürlich auch einige Bugs gefixt, für eine vollständige Liste der Änderungen lohnt sich ein Blick in das <a href="http://www.newsbeuter.org/downloads/CHANGES">CHANGELOG</a>.<br />
<br />
<strong>Links:</strong><br />
<a href="http://www.newsbeuter.org">Projektseite</a><br />
<a href="http://newsbeuter.wordpress.com">Dev-Blog</a><br />
<a href="http://www.newsbeuter.org/downloads/CHANGES">Changelog</a>
]]>
</description>
  <link>http://atsutane.freethoughts.de/127/newsbeuter-2-1-ver-ffentlicht</link>
  <guid>http://atsutane.freethoughts.de/127/newsbeuter-2-1-ver-ffentlicht</guid>
  <pubDate>Wed, 09 Dec 2009 20:49:15 +0100</pubDate>
 </item>
 <item>
  <title>[irssi,screen,urxvt]Configuring the urgency hint</title>
  <description>
<![CDATA[
As it took me some time yesterday evening, configuring those three to set an urgency hint for the terminal, so that my i3 highlights the workspace the urxvt containing the irssi-screen-session sECuRE told me I shall write a short post in order to help other finding the small glitches in their configuration which might cause problems.<br />
<br />
<strong>screen: ~/.screenrc</strong><br />
Just turn the visualbell off:</p>
<pre class="code">
<code>vbell off</code>
</pre>
<p><br />
<br />
<strong>urxvt: ~/.Xdefaults</strong><br />
For urxvt you only have to activate the urgentOnBell option:</p>
<pre class="code">
<code>URxvt*urgentOnBell: true</code>
</pre>
<p>If you use another terminal, you only have to search the documentation for &quot;urgen&quot; in order to find the option.<br />
<br />
<strong>irssi: ~/.irssi/config</strong><br />
If you want to do configuration directly using the file, add these lines to the <i>settings</i> part:<br />
</p>
<pre class="code">
<code>settings = {
#...
&nbsp; &quot;fe-common/core&quot; = {
&nbsp; &nbsp; bell_beeps = &quot;yes&quot;;
&nbsp; &nbsp; beep_when_away = &quot;yes&quot;;
&nbsp; &nbsp; beep_when_window_active = &quot;yes&quot;;
&nbsp; &nbsp; beep_msg_level = &quot;HILIGHT INVITES MSGS NOTICES CTCPS DCC DCCMSGS&quot;
&nbsp; }
}</code>
</pre>
<p>Or using a running instance:</p>
<pre class="code">
<code>/set bell_beeps on
/set beep_when_away on
/set beep_when_window_active on
/set beep_msg_level HILIGHT INVITES MSGS NOTICES CTCPS DCC DCCMSGS
/save</code>
</pre>
<p>
]]>
</description>
  <link>http://atsutane.freethoughts.de/126/irssi-screen-urxvt-configuring-the-urgency-hint</link>
  <guid>http://atsutane.freethoughts.de/126/irssi-screen-urxvt-configuring-the-urgency-hint</guid>
  <pubDate>Sun, 29 Nov 2009 14:10:06 +0100</pubDate>
 </item>
 <item>
  <title>Aktualisierung des BIOS bei MSI Produkten</title>
  <description>
<![CDATA[
Damit Andere nicht denselben Ärger, den ich in den letzten Stunden hatte, haben, schreibe ich euch hier schnell einen kurzen Post, was ihr machen solltet:<br />
<br />
Macht euch mit dem LiveUpdate und Online LiveUpdate keine Hoffnungen, hat sich auf einem extra dafür aufgesetztem Windows XP mit Service Pack 2, auf welchem außer den Treibern für die Hardware nichts installiert war als unbrauchbar erwiesen(etliche Fehlfunktionen). Nehmt stattdessen lieber 3 Disketten(3.5&quot; 1.44MB) und ein entsprechendes Diskettenlaufwerk zur Hand, formatiert diese mit FAT und ladet euch von der Seite eures Mainboards das aktuelle BIOS, besorgt euch eine <strong>Windows ME oder Windows 98</strong> Startdiskette(<strong>RAMDISK!</strong> Den Hinweis im beiliegenden Word Dokument bemerkt man erst nach mehrmaligem durchlesen, leider wird er nicht hervorgehoben, eine Homepage, von welcher man ein entsprechendes Image beziehen kann, ist dort immerhin angegeben). Kopiert die Dateien aus dem BIOS Archiv auf eine der von euch formatierten Disketten, bootet im Anschluss das System von der Startdiskette, wählt im Menü den Punkt mit Unterstützung für CD Laufwerke kopiert die Dateien in die RAMDISK(siehe Dokument), tauscht im Anschluss die Diskette mit der verbleibenden leeren aus und beendet die Schritte wie sie in der Anleitung beschrieben werden, sichert das Backup aber auf jeden Fall auf der leeren Diskette.<br />
<br />
Wer sich jetzt frägt, was er von diesem Post hat, das stünde ja alles in der Anleitung, dem kann ich nur die Gegenfrage stellen, ob er denn noch ein Diskettenlaufwerk in seinem System hat. Beim Großteil der in den letzten Jahren geschaffenen Desktopgeräte ist dies nicht der Fall und auch ich hatte, bei diesem System, vom Einbau eines solchen abgesehen. Da erscheint einem die temporäre Installation eines Windowssystems doch wesentlich weniger Arbeit zu sein, als das durchtesten des Floppylaufwerkstapels und der im Regal einstaubenden Disketten ... und wer nun sagen möchte, so faul sei er nicht soll sich zum Teufel scheren <img src="http://atsutane.freethoughts.de/smilies/icon_wink.gif" alt=";)" />.
]]>
</description>
  <link>http://atsutane.freethoughts.de/125/aktualisierung-des-bios-bei-msi-produkten</link>
  <guid>http://atsutane.freethoughts.de/125/aktualisierung-des-bios-bei-msi-produkten</guid>
  <pubDate>Sat, 14 Nov 2009 16:36:20 +0100</pubDate>
 </item>
 <item>
  <title>i3 3.δ</title>
  <description>
<![CDATA[
Gestern abend wurde <a href="http://i3.zekjur.net/">i3</a> in der Version 3.δ veröffentlicht.<br />
<br />
Changelog:
<ul class="bb-list-unordered"><li class="bb-listitem"> Implement tabbing (command &quot;T&quot; )</li>
<li class="bb-listitem"> Implement horizontal resize of containers (containers! not windows)</li>
<li class="bb-listitem"> Implement the urgency hint for windows/workspaces</li>
<li class="bb-listitem"> Implement vim-like marks (mark/goto command)</li>
<li class="bb-listitem"> Implement stack-limit for further defining how stack windows should look</li>
<li class="bb-listitem"> Implement modes which allow you to use a different set of keybindings when inside a specific mode</li>
<li class="bb-listitem"> Implement changing the default mode of containers</li>
<li class="bb-listitem"> Implement long options (--version, --no-autostart, --help, --config)</li>
<li class="bb-listitem"> Implement 'bt' to toggle between the different border styles</li>
<li class="bb-listitem"> Implement an option to specify the default border style</li>
<li class="bb-listitem"> Use a yacc/lex parser/lexer for the configuration file</li>
<li class="bb-listitem"> The number of workspaces is now dynamic instead of limited to 10</li>
<li class="bb-listitem"> Floating windows (and tiled containers) can now be resized using floating_modifier and right mouse button</li>
<li class="bb-listitem"> Dock windows can now reconfigure their height</li>
<li class="bb-listitem"> Bugfix: Correctly handle multiple messages on the IPC socket</li>
<li class="bb-listitem"> Bugfix: Correctly use base_width, base_height and size increment hints</li>
<li class="bb-listitem"> Bugfix: Correctly send fake configure_notify events</li>
<li class="bb-listitem"> Bugfix: Don’t crash if the numlock symbol cannot be found</li>
<li class="bb-listitem"> Bugfix: Don’t display a colon after unnamed workspaces</li>
<li class="bb-listitem"> Bugfix: If the pointer is outside of the screen when starting, fall back to the first screen.</li>
<li class="bb-listitem"> Bugfix: Initialize screens correctly when not using Xinerama</li>
<li class="bb-listitem"> Bugfix: Correctly handle unmap_notify events when resizing</li>
<li class="bb-listitem"> Bugfix: Correctly warp pointer after rendering the layout</li>
<li class="bb-listitem"> Bugfix: Fix NULL pointer dereference when reconfiguring screens</li>
</ul>
<br />
Ich habe den PKGBUILD im AUR bereits aktualisiert.<br />
<br />
<strong>Links:</strong><br />
<a href="http://i3.zekjur.net">Projektseite</a><br />
<a href="http://code.stapelberg.de/git/i3/">git Repository</a><br />
<a href="http://aur.archlinux.org/packages.php?ID=24720">i3 im AUR</a><br />
<a href="http://aur.archlinux.org/packages.php?ID=24665">i3-git im AUR</a><br />
<a href="http://aur.archlinux.org/packages.php?ID=24664">i3lock im AUR</a><br />
<a href="http://aur.archlinux.org/packages.php?ID=26104">i3status im AUR</a><br />

]]>
</description>
  <link>http://atsutane.freethoughts.de/124/i3-3</link>
  <guid>http://atsutane.freethoughts.de/124/i3-3</guid>
  <pubDate>Tue, 10 Nov 2009 07:48:43 +0100</pubDate>
 </item>
 <item>
  <title>i3status 2.0 veröffentlicht</title>
  <description>
<![CDATA[
Heute Nacht wurde <a href="http://i3.zekjur.net/i3status/">i3status</a> von sECuRE in Version 2.0 freigegeben. Ich zitiere einfach mal den Kern der Announcement Email:<br />
<br />
</p>
<pre class="code">
<code>
i3status version 2.0 has just been released. It is considered stable and every
user should upgrade. The list of changes since version 1.2 follows:

&nbsp;* add support for disk info (free/used/ins)
&nbsp;* add support for displaying the ESSID of the wireless interface
&nbsp;* add support for getting the public IPv6 address of the system
&nbsp;* all &quot;modules&quot; now support format strings
&nbsp;* switch to libconfuse for parsing the config file
&nbsp;* merge support for FreeBSD for many &quot;modules&quot;
&nbsp;* drop support for wmii, add support for xmobar
&nbsp;</code>
</pre>
<p><br />
<br />
<strong>Links:</strong><br />
<a href="http://i3.zekjur.net/i3status/">i3status Projektseite</a><br />
<a href="http://aur.archlinux.org/packages.php?ID=26104">i3status im AUR</a><br />
<a href="http://aur.archlinux.org/packages.php?ID=26088">i3status-git im AUR</a>
]]>
</description>
  <link>http://atsutane.freethoughts.de/123/i3status-2-0-ver-ffentlicht</link>
  <guid>http://atsutane.freethoughts.de/123/i3status-2-0-ver-ffentlicht</guid>
  <pubDate>Wed, 28 Oct 2009 09:50:08 +0100</pubDate>
 </item>
 <item>
  <title>Kurzer Zwischenbericht</title>
  <description>
<![CDATA[
Ein kurzer Zwischenbericht für all jene, welche mich an verschiedenen Stellen des Netzes vermissen.<br />
<br />
Da diese Woche mein Studium begonnen hat, hat bereits mit dem vergangenen Wochenende meine Aktivität an verschiedenen Stellen des Netzes nachgelassen, dahinter steckt also anders, als eine Handvoll vermuteten, kein Vergehen von Interesse/Lust, sondern schlichtweg eine Verlagerung des Zeitfokus.<br />
<br />
Meine Erreichbarkeit via IRC wird weiter deutlich nachlassen, wer mich kontaktieren möchte, macht dies bitte via Jabber oder Email, die Adresse ist die Selbe und im <a href="http://atsutane.freethoughts.de/site/about-me">About Me</a> zu erhalten, ich werde versuchen möglichst zeitnah zum Nachrichtenerhalt Antworten zu geben.
]]>
</description>
  <link>http://atsutane.freethoughts.de/122/kurzer-zwischenbericht</link>
  <guid>http://atsutane.freethoughts.de/122/kurzer-zwischenbericht</guid>
  <pubDate>Wed, 07 Oct 2009 18:09:15 +0200</pubDate>
 </item>
</channel>
</rss>