<?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>Thomas Falkner &#187; geek</title>
	<atom:link href="http://blog.thomas-falkner.de/category/geek/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.thomas-falkner.de</link>
	<description>Marginalien zu  Linux, Webdesign und Softwareentwicklung</description>
	<lastBuildDate>Mon, 12 Jul 2010 16:14:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Die Antwort ist 42</title>
		<link>http://blog.thomas-falkner.de/2008/12/31/die-antwort-ist-42/</link>
		<comments>http://blog.thomas-falkner.de/2008/12/31/die-antwort-ist-42/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 14:50:10 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/?p=217</guid>
		<description><![CDATA[Und wieder einmal lautet die Antwort 42!

]]></description>
			<content:encoded><![CDATA[<p>Und wieder einmal lautet die Antwort <a href="http://de.wikipedia.org/wiki/42_(Antwort)">42</a>!<br />
<a href="http://blog.thomas-falkner.de/wp-content/uploads/2008/12/die_antwort_ist_42.png"><img src="http://blog.thomas-falkner.de/wp-content/uploads/2008/12/die_antwort_ist_42.png" alt="" title="die_antwort_ist_42" width="281" height="180" class="alignnone size-medium wp-image-218" /></a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2008%2F12%2F31%2Fdie-antwort-ist-42%2F&amp;linkname=Die%20Antwort%20ist%2042"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2008/12/31/die-antwort-ist-42/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH absichern</title>
		<link>http://blog.thomas-falkner.de/2007/09/25/ssh-absichern/</link>
		<comments>http://blog.thomas-falkner.de/2007/09/25/ssh-absichern/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 17:36:23 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[rootserver]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/09/25/ssh-absichern/</guid>
		<description><![CDATA[Vor einiger Zeit schon  habe ich mir vorgenommen etwas dar&#252;ber zu schreiben, wie ein Webserver abgesichert werden kann. Darum nehme ich die heute k&#252;rzlich gestellte Frage zum Anlass endlich damit zu beginnen und fange bei SSH an. Im folgenden beziehe ich mich auf die Implementierung OpenSSH. Die Konfiguration anderer Implementierung wie etwas SSH.com verl&#228;uft &#228;hnlich, [...]]]></description>
			<content:encoded><![CDATA[<p>Vor einiger Zeit schon  habe ich mir vorgenommen etwas dar&#252;ber zu schreiben, wie ein Webserver abgesichert werden kann. Darum nehme ich die<strike> heute</strike> k&#252;rzlich gestellte Frage zum Anlass endlich damit zu beginnen und fange bei SSH an. Im folgenden beziehe ich mich auf die Implementierung <a href="http://www.openssh.com/">OpenSSH</a>. Die Konfiguration anderer Implementierung wie etwas <a href="http://www.ssh.com/">SSH.com</a> verl&#228;uft &#228;hnlich, weicht jedoch im Detail ab.</p>
<p>Bevor wir beginnen, solltest du sicherstellen, dass du eine aktuelle SSH Version benutzt. Unter Debian gen&#252;gt dazu der Einzeiler <tt>apt-get update; apt-get dist-upgrade</tt>. Unter anderen Distributionen stehen &#228;hnliche Werkzeuge zum Update zur Verf&#252;gung wie etwas yast unter Suse.</p>
<p>Nun ist es an der Zeit die Konfigurationsdatei <tt>/etc/ssh/sshd_config</tt> zu bearbeiten. Ich werde im folgenden die sicherheitsrelevanten Optionen durchgehen und kurz kommentieren.</p>
<p><code>ListenAddress 217.79.182.18</code></p>
<p>Wenn ein Server mit mehr als einem Netzwerkinterface ausgestattet ist, kann es sinnvoll sein den Zugriff bestimmte Interfaces zu beschr&#228;nken. Beim klassischen Webserver d&#252;rfte das allerdings nicht der Fall sein.</p>
<p><code>Port 2222</code></p>
<p>Standardm&#228;&#223;ig lauscht der SSH-D&#228;mon auf Port 22. Viele Bruteforceattacken gegen ganze Netzwerksegmente k&#246;nnen durch Nutzung eines anderen Ports erfolgreich abgewehrt werden. Solche Angriffe gehen meist von Botnetzen oder bereits gekaperten Servern aus, die mit gro&#223;er Bandbreite tausende Logins gegen Port 22 feuern. Dabei werden  Standardbenutzernamen (admin, root, httpd, mail usw.) mit leerem Passwort oder Passw&#246;rter aus W&#246;rterb&#252;chern und Passwortlisten durchprobiert. Solche Angriffe k&#246;nnen zwar einen sicher konfigurierten Server nicht gef&#228;hrden, bl&#228;hen aber die Logdateien auf, f&#252;hren zu verminderten Reaktionszeiten und schlimmstenfalls k&#246;nnen sich legitimierte Benutzer ob der vielen Anfragen nicht &#252;ber SSH einloggen. Selbstverst&#228;ndlich bietet die Nutzung eines anderen Ports keinen Schutz gegen gezielte Brutforceangriffe, bei denen dem eigentlichen Angriff ein Portscan vorausgeht. Abhilfe k&#246;nnen hier zum Beispiel <a href="http://www.pettingers.org/code/sshblack.html">sshblack</a> schaffen oder eine Kombination von Snort, Netfilter und iptables. Da DoS-Attacken  kein SSH-spezifisches Problem sind, werde ich an dieser Stelle nicht weiter darauf eingehen.</p>
<p><code>Protocol 2</code></p>
<p>Die Version 1 des SSH-Protokoll enth&#228;lt Designschw&#228;chen, die einen unbefugten Login erm&#246;glichen, und sollte darum nicht benutzt werden.</p>
<p><code>PermitRootLogin no</code></p>
<p>Es ist eine gute Idee root den Zugang &#252;ber SSH zu verwehren. Denn wenn jemand gel&#228;nge sich &#252;ber SSH unbefugt Zugang zum Server zu verschaffen, k&#246;nnte er als unprivilegierter Nutzer nur begrenz Schaden anrichten. Da es ohnehin von Leichtsinn zeugt stets als root zu arbeiten, spricht auch wenig daf&#252;r den direkten Login als root zu erlauben. Wichtig ist auf einen frisch installierten System einen neuen Benutzer anzulegen, <strong>bevor</strong> wir &#252;ber <tt>PermitRootLogin no</tt> root vom SSH-Login ausschlie&#223;en.</p>
<p><code>AllowUsers tom thomasfalkner@thomas-falkner.de<br />
AllowGroups admin</code></p>
<p>Wenn nur bestimmte Nutzer sich via SSH auf dem Server einloggen d&#252;rfen, k&#246;nnen diese &#252;ber <tt>AllowUsers</tt> bestimmt werden. Wenn Benutzer nur von einem bestimmten Host aus Zugang zum Rechner erhalten sollen, kann dass &#252;ber <tt>user@host</tt> geregelt werden. Das kann sinnvoll sein, wenn ein Webdesigner sich nur aus dem Firmennetzwerk, nicht aber von zu Hause auf dem Server anmelden darf. Durch die Option <tt>AllowGroups</tt> kann der Login auf bestimmte Benutzergruppen beschr&#228;nkt werden.<br />
Sollen mehr Benutzer erlaubt als ausgeschlossen werden, ersparen die Gegenst&#252;cke zu <tt>AllowUsers</tt> und <tt>AllowGroups</tt>, <tt>DenyUsers</tt> und <tt>DenyGroups</tt>, eine Menge Tipparbeit.</p>
<p>Doch es ist nicht nur wichtig festzulegen, wer sich &#252;ber SSH anmelden darf, sondern auch welche Authentifizierungsverfahren dazu genutzt werden sollen. Hier greift die Regle: Alles deaktivieren, was nicht ben&#246;tigt wird.</p>
<p>Wer mit dem h&#246;chsten Sicherheitsstandard arbeiten m&#246;chten, sollte ausschlie&#223;lich die <tt>PubKeyAuthentication</tt> nutzen und alle anderen Authentifizierungsverfahren ausschalten.</p>
<p><code>RhostsRSAAuthentication no<br />
HostbasedAuthentication no<br />
KerberosAuthentication no<br />
GSSAPIAuthentication no<br />
RSAAuthentication no<br />
</code></p>
<p>Obwohl die meisten Optionen wie etwa <tt>RhostsRSAAuthentication</tt> per Default abgeschaltet sind, halte ich es f&#252;r sinnvoll sie explizit auf <em>no</em> zu setzen, um eine klare Konfiguration vor Augen zu haben. Ferner w&#228;re es t&#246;richt davon auszugehen, dass die Defaulteinstellungen sich bei neueren Versionen nicht &#228;ndern w&#252;rden. Updates sollten &#252;brigens ohnehin nie ungepr&#252;ft eingespielt werden.</p>
<p>Bevor wir die Passwort basierte Anmeldung mittels <tt>PasswordAuthentication no</tt> und <tt>UsePAM no</tt> vollst&#228;ndig deaktivieren, muss zuerst die Anmeldung &#252;ber <em>PubKey</em> konfiguriert und getestet werden &#8211; sonst laufen wir Gefahr uns selbst auszusperren.</p>
<p>Dazu erg&#228;nzen wir <tt>/etc/ssh/sshd_config</tt> wie folgt:</p>
<p><code>PubkeyAuthentication yes</code><br />
Damit wird die Authentifizierungs per RSA- oder DSA-Schl&#252;ssel aktiviert.</p>
<p><code>AuthorizedKeysFile %h/.ssh/authorized_keys</code></p>
<p>Gibt an, wo die &#246;ffentlichen Schl&#252;ssel auf dem Server gespeichert werden.<br />
Per Default im Homeverzeichnis des jeweiligen Benutzers unter <tt>.ssh/authorized_keys</tt>.</p>
<p>Nun sollte der der SSH-D&#228;mon neu gestartet werden: <tt>sudo /etc/init.d/sshd restart</tt></p>
<p>Damit ist der Server vorbereitet f&#252;r den passwortfreien Login &#252;ber Schl&#252;ssel.  Was fehlt ist der Schl&#252;ssel, oder genauer gesagt das Schl&#252;sselpaar. Da der private Teil des Schl&#252;ssels auf dem Client verbleibt und nur der &#246;ffentliche auf den Server kopiert wird, empfiehlt es sich das Schl&#252;sselpaar auf dem Client zu erzeugen.  Unter UNIX-Derivaten starten wir dazu unter dem Useraccount, der sich sp&#228;ter auf dem Server einloggen k&#246;nnen soll, <tt>ssh-keygen</tt>.</p>
<p><code>ssh-keygen -t dsa</code></p>
<p>Wenn die Voreinstellung best&#228;tigt wird, legt <tt>ssh-keygen</tt> den private Schl&#252;ssel id_dsa als auch den &#246;ffentlich id_dsa_pub unter <tt>~/.ssh</tt> ab. Die Frage nach der Passphrase kann mit 2x Return &#252;bergangen werden, wenn man den Schl&#252;ssel nicht mit einem Passwort sch&#252;tzen m&#246;chte. Eine generelle Empfehlung ob es sinnvoll ist den Schl&#252;ssel mit einem Passwort zu sch&#252;tzen oder nicht, ist schwer m&#246;glich. Wird kann Passwort vergeben, kann jeder sich auf dem Server anmelden, der in Besitz des Schl&#252;ssels ist. Soll hei&#223;en: Wird der Rechner, auf dem der private Schl&#252;ssel hinterlegt ist geknackt oder ger&#228;t in falsche H&#228;nde, steht dem Angreifer auch der Zugang zum Server offen.<br />
Sind die Schl&#252;ssel mit einem Passwort zus&#228;tzlich gesch&#252;tzt, m&#252;sste der Angreifer erst das Passwort per Bruteforce knacken &#8211; was bei ausreichend starken Passwort nicht in angemessener Zeit m&#246;glich ist.<br />
Das h&#246;here Ma&#223; an Sicherheit erkauft man sich jedoch mit der l&#228;stigen Eingabe des Passworts beim Login &#252;ber SSH.</p>
<p>Ist der Schl&#252;ssel je nach Gusto mit oder ohne Passpharse erzeugt, muss er auf den Server &#252;bertragen werden.</p>
<p>Zuerst pr&#252;fen wir, ob es in unserem Homeverzeichnis auf dem Server einen Order .ssh bereits gibt. Wenn nicht, legen wir ihn an. Dazu kann folgender Einzeiler vom Client aus abgesetzt werden:</p>
<p><code>ssh domain.tld -p2222 "test -d .ssh || mkdir .ssh &amp;&amp; chmod 700 .ssh"</code></p>
<p>Wie oben erw&#228;hnt, gehe ich davon aus, dass der User auf dem Client den gleichen Namen tr&#228;gt wie auf dem Server.<br />
Aus Sicherheitsgr&#252;nden ist es unerl&#228;sslich, dass die Zugriffsrechte des <tt>.ssh</tt>-Verzeichnisses auf 700 und die f&#252;r <tt>authorized_keys</tt> auf 600. Ferner m&#252;ssen sowohl Datei als auch Verzeichnis dem anzumeldenden User geh&#246;ren.<br />
Letztere Bedingung erf&#252;llen wir, indem wir Verzeichnis und Datei selbst anlegen, die Zugriffsrechte indes sollten wir explizit setzen.<br />
Auch das l&#228;sst sich zu einem Befehl zusammenfassen:<br />
<code>cat ~/.ssh/id_dsa_pub | ssh domain.tld -p2222 "cat &gt;&gt; .ssh/authorized_keys &amp;&amp; chmod  600 .ssh/authorized_keys"</code></p>
<p>Der passwortlose Login sollte damit funktionieren.</p>
<p>Zu den M&#246;glichkeiten von SSH l&#228;sst sich noch eine Menge schreiben. Zu gegebener Zeit an dieser Stelle mehr.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F09%2F25%2Fssh-absichern%2F&amp;linkname=SSH%20absichern"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/09/25/ssh-absichern/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>a+b = a*b</title>
		<link>http://blog.thomas-falkner.de/2007/06/30/ab-ab/</link>
		<comments>http://blog.thomas-falkner.de/2007/06/30/ab-ab/#comments</comments>
		<pubDate>Sat, 30 Jun 2007 21:24:41 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Mathematik]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[rätsel]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/06/30/ab-ab/</guid>
		<description><![CDATA[Ist es nicht bemerkenswert, dass 2+2 das gleiche wie 2x2 ergibt? Tats&#228;chliche ist die 2 die einzige nat&#252;rliche Zahl mit dieser Eigenschaft. Doch es finden sich zahlreiche Zahlen  f&#252;r die gilt:

Wer kann passende Werte f&#252;r a und b nennen? Wieviele L&#246;sungen sind m&#246;glich?
Kleiner Tip: Es gibt nicht nur nat&#252;rliche Zahlen.
]]></description>
			<content:encoded><![CDATA[<p>Ist es nicht bemerkenswert, dass <em>2+2</em> das gleiche wie <em>2x2</em> ergibt? Tats&#228;chliche ist die 2 die einzige nat&#252;rliche Zahl mit dieser Eigenschaft. Doch es finden sich zahlreiche Zahlen <img src='http://freegan.eu/cgi-bin/mimetex.cgi?{N} \setminus \{0\}' title='{N} \setminus \{0\}' alt='{N} \setminus \{0\}' style="border:0;vertical-align:middle"> f&#252;r die gilt:</p>
<p><img src='http://freegan.eu/cgi-bin/mimetex.cgi?a+b = a*b' title='a+b = a*b' alt='a+b = a*b' style="border:0;vertical-align:middle"></p>
<p>Wer kann passende Werte f&#252;r <em>a</em> und <em>b</em> nennen? Wieviele L&#246;sungen sind m&#246;glich?<br />
Kleiner Tip: Es gibt nicht nur nat&#252;rliche Zahlen.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F06%2F30%2Fab-ab%2F&amp;linkname=a%2Bb%20%3D%20a%2Ab"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/06/30/ab-ab/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>wget aufbohren: dotfiles per &#8211;mirror mitkopieren</title>
		<link>http://blog.thomas-falkner.de/2007/04/21/wget-aufbohren-dotfiles-per-mirror-mitkopieren/</link>
		<comments>http://blog.thomas-falkner.de/2007/04/21/wget-aufbohren-dotfiles-per-mirror-mitkopieren/#comments</comments>
		<pubDate>Sat, 21 Apr 2007 14:15:34 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[open_source]]></category>
		<category><![CDATA[rootserver]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[wget]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/04/21/wget-aufbohren-dotfiles-per-mirror-mitkopieren/</guid>
		<description><![CDATA[Ich benutze GNU wget gerne um verschiedene Websites per FTP mit dem Parameter --mirror zu spiegeln. Leider werden dabei versteckte Dateien (so genannte dotfiles) wie etwa .htaccess nicht ber&#252;cksichtigt. Nach eingehendem Studium der manpage stellte ich entt&#228;uscht fest, dass wget tats&#228;chlich keine Option zur L&#246;sung des Problem vorsieht. 
Aber zum Gl&#252;ck l&#228;sst sich GNU wget [...]]]></description>
			<content:encoded><![CDATA[<p>Ich benutze <a href="http://www.gnu.org/software/wget/wget.html">GNU wget</a> gerne um verschiedene Websites per FTP mit dem Parameter <tt>--mirror</tt> zu spiegeln. Leider werden dabei <em>versteckte</em> Dateien (so genannte dotfiles) wie etwa <tt>.htaccess</tt> nicht ber&#252;cksichtigt. Nach eingehendem Studium der manpage stellte ich entt&#228;uscht fest, dass wget tats&#228;chlich keine Option zur L&#246;sung des Problem vorsieht. </p>
<p>Aber zum Gl&#252;ck l&#228;sst sich GNU wget als Open-Source-Software an die eigenen Bed&#252;rfnisse anpassen, so dass ich folgenden <a href="http://www.catb.org/~esr/jargon/html/Q/quick-and-dirty.html">q&#038;d </a>Patch "entwickelte". </p>
<div class="igBar"><span id="lcode-2"><a href="#" onclick="javascript:showPlainTxt('code-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-2">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">--- wget-<span style="color:#800000;color:#800000;">1</span>.<span style="color:#800000;color:#800000;">10</span>.<span style="color:#800000;color:#800000;">2</span>_orig/src/ftp-basic.<span style="">c</span>&nbsp; &nbsp; &nbsp;<span style="color:#800000;color:#800000;">2005</span>-<span style="color:#800000;color:#800000;">06</span>-<span style="color:#800000;color:#800000;">19</span> <span style="color:#800000;color:#800000;">15</span>:<span style="color:#800000;color:#800000;">47</span>:<span style="color:#800000;color:#800000;">10</span>.<span style="color:#800000;color:#800000;">000000000</span> +<span style="color:#800000;color:#800000;">0200</span></div>
</li>
<li style="font-weight: bold;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+++ wget-<span style="color:#800000;color:#800000;">1</span>.<span style="color:#800000;color:#800000;">10</span>.<span style="color:#800000;color:#800000;">2</span>/src/ftp-basic.<span style="">c</span> <span style="color:#800000;color:#800000;">2007</span>-<span style="color:#800000;color:#800000;">04</span>-<span style="color:#800000;color:#800000;">21</span> <span style="color:#800000;color:#800000;">14</span>:<span style="color:#800000;color:#800000;">17</span>:<span style="color:#800000;color:#800000;">33</span>.<span style="color:#800000;color:#800000;">000000000</span> +<span style="color:#800000;color:#800000;">0200</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">@@ -<span style="color:#800000;color:#800000;">977</span>,<span style="color:#800000;color:#800000;">7</span> +<span style="color:#800000;color:#800000;">977</span>,<span style="color:#800000;color:#800000;">7</span> @@</div>
</li>
<li style="font-weight: bold;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;uerr_t err;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#008000;">/* Send LIST request.&nbsp; */</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">-&nbsp; request = ftp_request <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0000;">"LIST"</span>, file<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+&nbsp; request = ftp_request <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0000;">"LIST -a"</span>, file<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;nwritten = fd_write <span style="color:#006600; font-weight:bold;">&#40;</span>csock, request, strlen <span style="color:#006600; font-weight:bold;">&#40;</span>request<span style="color:#006600; font-weight:bold;">&#41;</span>, -<span style="color:#800000;color:#800000;">1</span>.<span style="color:#800000;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;if <span style="color:#006600; font-weight:bold;">&#40;</span>nwritten &lt;<span style="color:#800000;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#123;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p><code><br />
wget ftp://ftp.gnu.org/pub/gnu/wget/wget-1.10.2.tar.gz<br />
tar -xzf wget-1.10.2.tar.gz<br />
patch -p0 < wget-1.10.2_dotfiles<br />
./configure<br />
make<br />
make install<br />
</code></p>
<p>Es gen&#252;gt also <tt>LIST -a</tt> anstatt <tt>LIST</tt> an den FTP-Server zu senden, um wget zu &#252;berreden auch dotfiles rekursiv zu kopieren.<br />
Der Patch ist - wie gesagt - ein &#252;bler Hack, der mir zur schnellen L&#246;sung eines Problems dienen solle. F&#252;r mich funktioniert er gut. Perspektivisch w&#228;re es jedoch w&#252;nschenswert durch einen Parameter zwischen <tt>LIST</tt> und  <tt>LIST -a</tt> w&#228;hlen zu k&#246;nnen. Nach meiner m&#252;ndlichen Diplompr&#252;fung werde ich das sauber implementieren und als Feature vorschlagen.    </p>
<p>EDIT 16:40: <a href="http://www.unixwiz.net/techtips/wget-dotfiles.html">Hier</a> gibt es einen sauberen Patch, allerdings nur f&#252;r Version 1.9.1. Doch es sollte nicht allzu schwer fallen ihn auf die aktuelle Version zu portieren.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F04%2F21%2Fwget-aufbohren-dotfiles-per-mirror-mitkopieren%2F&amp;linkname=wget%20aufbohren%3A%20dotfiles%20per%20%26%238211%3Bmirror%20mitkopieren"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/04/21/wget-aufbohren-dotfiles-per-mirror-mitkopieren/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quote of the day</title>
		<link>http://blog.thomas-falkner.de/2007/04/16/quote-of-the-day/</link>
		<comments>http://blog.thomas-falkner.de/2007/04/16/quote-of-the-day/#comments</comments>
		<pubDate>Mon, 16 Apr 2007 09:18:19 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/04/16/quote-of-the-day/</guid>
		<description><![CDATA[Ich w&#252;rde gern die Welt verbessern, doch Gott gibt mir den Quellcode nicht!
]]></description>
			<content:encoded><![CDATA[<blockquote><p>Ich w&#252;rde gern die Welt verbessern, doch <a href="http://de.wikipedia.org/wiki/Fliegendes_Spaghettimonster">Gott</a> gibt mir den Quellcode nicht!</p></blockquote>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F04%2F16%2Fquote-of-the-day%2F&amp;linkname=Quote%20of%20the%20day"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/04/16/quote-of-the-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shutdown Day</title>
		<link>http://blog.thomas-falkner.de/2007/03/24/shutdown-day/</link>
		<comments>http://blog.thomas-falkner.de/2007/03/24/shutdown-day/#comments</comments>
		<pubDate>Sat, 24 Mar 2007 01:37:52 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Netzwelt]]></category>
		<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/03/24/shutdown-day/</guid>
		<description><![CDATA[Heute ist Shutdown Day, der Tag an dem die Computer ruhen und der Mensch entspannen soll. Wie an diesem Eintrag zu erkenne, verweigere ich mich momentan dem Shutdown Day. Dennoch kann es nicht schaden den Tag zum Anlass zu nehmen dar&#252;ber zu reflektieren, ob ich zuviel vor dem Computer sitze oder in zu gro&#223;er Abh&#228;ngigkeit [...]]]></description>
			<content:encoded><![CDATA[<p>Heute ist <a href="http://www.shutdownday.org/">Shutdown Day</a>, der Tag an dem die Computer ruhen und der Mensch entspannen soll. Wie an diesem Eintrag zu erkenne, verweigere ich mich momentan dem Shutdown Day. Dennoch kann es nicht schaden den Tag zum Anlass zu nehmen dar&#252;ber zu reflektieren, ob ich zuviel vor dem Computer sitze oder in zu gro&#223;er Abh&#228;ngigkeit von ihm stehe.<br />
<span id="more-105"></span><br />
Mein MacBook hat in diesem Moment eine Uptime von 15:58 Stunden -  gestern Vormittag gleich nach dem Aufstehen wurde es eingeschaltet und l&#228;uft seitdem durch. So wie beinah jeden Tag, wenn ich zu Hause bin. Rund 16 Stunden, die nackte Zahl mag alarmierend wirken. Doch die Uptime des Rechners gibt zum Gl&#252;ck keinen Hinweis auf die tats&#228;chliche Nutzungszeit - und diese f&#228;llt deutlich geringer aus. Computer sind mein wichtiges Werkzeug und m&#252;ssen deshalb stets bereit stehen. Autoren aus analogen Zeiten r&#228;umten ihre Schreibmaschinen schlie&#223;lich auch nicht in den Schrank, sondern hielten sie stets griffbereit auf dem Schreibtisch. Fast alle Arbeiten erledige ich computergest&#252;tzt: Schreiben, Programmieren, Gestalten. Zudem ziehe ich Onlinemedien Printmedien ob ihrer Aktualit&#228;t, freien Verf&#252;gbarkeit und Vielfalt vor. Mittlerweile telefoniere ich fast ausschlie&#223;lich &#252;ber VoIP und E-Mails sind mein prim&#228;res Kommunikationsmittel. Den Rechner auszuschalten, bedeutet f&#252;r mich also nicht nur ohne Besch&#228;ftigung, sondern isoliert von vielen Menschen zu sein. Nicht einmal mit Musik k&#246;nnte ich Zerstreuung finden, denn meine Musiksammlung liegt ausschlie&#223;lich in Form von Audiodateien vor. Selbst ein paar Fotos angucken, um in Erinnerungen zu schwelgen ist bei einer digitalen Fotosammlung ohne Computer unm&#246;glich. Einzig und alleine B&#252;cher bleiben mir, denn die lese ich noch immer am liebsten offline. </p>
<p>Tats&#228;chlich ist es schon bedenklich wie stark Computer binnen der vergangenen 15 Jahre Einzug in unseren Alltag gefunden und dabei viele Arbeitstechniken, Werkzeuge, Ger&#228;te sowie Kommunikationsmittel verdr&#228;ngt haben. Computern konzentrieren dabei die F&#228;higkeiten vieler Ger&#228;te und Techniken auf sich.  F&#228;llt ein Computer aus, fehlen mit ihm pl&#246;tzlich s&#228;mtliche Ger&#228;te und Medien, die er ersetzt hat: Angefangen bei der Schreibmaschine, &#252;ber das Telefon bis hin zur Tageszeitung.<br />
Das kann zum Problem werden, denn viele Menschen, die tatt&#228;glich mithilfe von Textverarbeitungen seitenlange Briefe schreiben, stellt es vor eine echte Herausforderung einen kurzen Brief handschriftlich zu verfassen. Bei einigen durchaus intelligenten Mitstudenten habe ich oft genug erlebt, dass sie kaum in der Lage sind in Zahlenbereichen > 100 ohne Taschenrechner zu rechnen. </p>
<p>Je h&#228;ufiger wir eine Technologie nutzen, die uns Arbeit abnimmt oder erleichtert, umso gr&#246;&#223;er scheint die Gefahr, traditionelle Kenntnisse und Techniken zu verlernen. Computer werden als hochkomplexes St&#252;ck Technologie von den meisten Menschen selbstverst&#228;ndlich genutzt, doch nur wenige verstehen wie Computer funktionieren und kaum jemand verf&#252;gt &#252;ber Wissen und M&#246;glichkeit selbst einen Computer zu konstruieren. Gerade im letzten Aspekt sehe ich eine gro&#223;e Gefahr: Wir gehen immer st&#228;rker dazu &#252;ber Informationen auf digitalen Datentr&#228;gern zu konservieren und mit Computer zu erschlie&#223;en. Fallen die Computer aus, sind die Informationen nicht mehr zug&#228;nglich und unter Umst&#228;nden auch das Wissen verloren, wie ein Computer zu bauen ist. Im schlimmsten Fall k&#246;nnte das die Menschheit in die kulturelle Umnachtung eines weiteren Mittelalters st&#252;rzen. </p>
<p>Angesichts dessen ist es  eine gute Idee, den Rechner mal auszuschalten und zu &#252;berlegen, ob es weise ist sich in zu gro&#223;e Abh&#228;ngigkeit von Computern zu geben. H&#228;ufiger auch mal wieder handschriftlich Notizen anfertigen, etwas im Kopf rechnen und wichtige Informationen auch als <a href="http://de.wikipedia.org/wiki/Hardcopy">Hardcopy</a> bereithalten. Computer k&#246;nnen unser Leben verbessern; aber nur, wenn wir auch ohne sie auskommen!</p>
<p>Ich bin dann bis morgen offline. Ich versuche es zumindest. <img src='http://blog.thomas-falkner.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F03%2F24%2Fshutdown-day%2F&amp;linkname=Shutdown%20Day"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/03/24/shutdown-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Social Networks</title>
		<link>http://blog.thomas-falkner.de/2007/03/14/social-networks/</link>
		<comments>http://blog.thomas-falkner.de/2007/03/14/social-networks/#comments</comments>
		<pubDate>Wed, 14 Mar 2007 13:31:28 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[bugs]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/03/14/social-networks/</guid>
		<description><![CDATA[Social Networks sind praktisch, um neue Kontakte zu kn&#252;pfen oder l&#228;ngst verloren geglaubte Freunde und Bekannte wiederzufinden. Doch wie viele Technologien lassen sie Social Networks als Repressionswerkzeuge missbrauchen. Doch weil es so praktisch ist, habe ich mich aller Bedenken zum Trotz ins StudiVZ eingetragen.
Allerdings scheint die Software leicht buggy zu sein, wie der folgende Screenshot [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://de.wikipedia.org/wiki/Soziales_Netzwerk">Social Networks</a> sind praktisch, um neue Kontakte zu kn&#252;pfen oder l&#228;ngst verloren geglaubte Freunde und Bekannte wiederzufinden. Doch wie viele Technologien lassen sie Social Networks als Repressionswerkzeuge missbrauchen. Doch weil es so praktisch ist, habe ich mich aller Bedenken zum Trotz ins <a href="http://de.wikipedia.org/wiki/StudiVZ">StudiVZ</a> eingetragen.<br />
Allerdings scheint die Software leicht buggy zu sein, wie der folgende Screenshot zeigt.</p>
<p><img src='http://blog.thomas-falkner.de/wp-content/uploads/2007/03/bild-4.png' alt='StudiVZ Bug' /></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F03%2F14%2Fsocial-networks%2F&amp;linkname=Social%20Networks"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/03/14/social-networks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wie lange dauert es Sarge zu installieren?</title>
		<link>http://blog.thomas-falkner.de/2007/03/13/wie-lange-dauert-es-sarge-zu-installieren/</link>
		<comments>http://blog.thomas-falkner.de/2007/03/13/wie-lange-dauert-es-sarge-zu-installieren/#comments</comments>
		<pubDate>Tue, 13 Mar 2007 06:26:49 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[Alltag]]></category>
		<category><![CDATA[rootserver]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/03/13/wie-lange-dauert-es-sarge-zu-installieren/</guid>
		<description><![CDATA[Seit geschlagenen drei Tagen warte ich nun schon darauf, dass der fast IT-Support einen von mir betreuten Rootserver mit Debian Sarge neu aufsetzt. 

Im Regelfall soll die Installation rund 60 Minuten beanspruchen - eine durchaus realistische Zeit um automatisch ein Image auf eine Festplatte zu schreiben und das Root-Passwort zu setzen. Aber fast IT scheint [...]]]></description>
			<content:encoded><![CDATA[<p>Seit geschlagenen drei Tagen warte ich nun schon darauf, dass der <a href="http://www.fastit.net/">fast IT</a>-Support einen von mir betreuten Rootserver mit Debian Sarge neu aufsetzt. </p>
<p><img src='http://blog.thomas-falkner.de/wp-content/uploads/2007/03/fastit_sarge.jpg' alt='Neuinstallation' /></p>
<p>Im Regelfall soll die Installation rund 60 Minuten beanspruchen - eine durchaus realistische Zeit um automatisch ein Image auf eine Festplatte zu schreiben und das Root-Passwort zu setzen. Aber fast IT scheint die System noch per Hand mit von CD zu installieren und dabei mit kaputten Laufwerken zu k&#228;mpfen, denn der Support findet nicht einmal Zeit mir zu erkl&#228;ren, warum die Installation so lange dauert. Der Name <em>fast</em> IT scheint mit doch etwas ungl&#252;cklich gew&#228;hlt. <img src='http://blog.thomas-falkner.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F03%2F13%2Fwie-lange-dauert-es-sarge-zu-installieren%2F&amp;linkname=Wie%20lange%20dauert%20es%20Sarge%20zu%20installieren%3F"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/03/13/wie-lange-dauert-es-sarge-zu-installieren/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>IKEA-Infoterminal crashen</title>
		<link>http://blog.thomas-falkner.de/2007/03/12/ikea-infoterminal-crashen/</link>
		<comments>http://blog.thomas-falkner.de/2007/03/12/ikea-infoterminal-crashen/#comments</comments>
		<pubDate>Mon, 12 Mar 2007 14:00:58 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[hack]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/03/12/ikea-infoterminal-crashen/</guid>
		<description><![CDATA[IKEA bietet ein durchaus praktisches Terminalsystem an, das dem Kunden mitteilt in welchem Lagerregal sich welches M&#246;bel befindet. Die Bedienung ist durchweg intuitiv und das Design funktional. Doch bei der Programmierung waren die Entwickler nachl&#228;ssig: Mit ein wenig Hintergrundswissen &#252;ber die zahlreichen Bugs des Internet Explorers kann mensch das System abst&#252;rzen lassen. 

]]></description>
			<content:encoded><![CDATA[<p>IKEA bietet ein durchaus praktisches Terminalsystem an, das dem Kunden mitteilt in welchem Lagerregal sich welches M&#246;bel befindet. Die Bedienung ist durchweg intuitiv und das Design funktional. Doch bei der Programmierung waren die Entwickler nachl&#228;ssig: Mit ein wenig Hintergrundswissen &#252;ber die zahlreichen Bugs des Internet Explorers kann mensch das System abst&#252;rzen lassen. </p>
<p><img src='http://blog.thomas-falkner.de/wp-content/uploads/2007/03/ikea_terminal.jpg' alt='Ein agbest&#252;rztes IKEA Infoterminal' /></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F03%2F12%2Fikea-infoterminal-crashen%2F&amp;linkname=IKEA-Infoterminal%20crashen"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/03/12/ikea-infoterminal-crashen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rummikub algorithmisch l&#246;sen</title>
		<link>http://blog.thomas-falkner.de/2007/03/10/rummikub-algorithmisch-loesen/</link>
		<comments>http://blog.thomas-falkner.de/2007/03/10/rummikub-algorithmisch-loesen/#comments</comments>
		<pubDate>Fri, 09 Mar 2007 23:22:21 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/03/10/rummikub-algorithmisch-loesen/</guid>
		<description><![CDATA[Ich habe heute gestern seit langen mal wieder ein Gesellschaftsspiel gespielt: Rummikub. Rummikub ist wie Rommé nur ohne Karten. Besonders interessiert mich an solchen Spielen immer, ihre Reglen in Algorithmen zu fassen. Obwohl das Spielprinzip von Rummikub simpel ist, f&#228;llt es schwer einen effiziente Algorithmus zu entwickeln. Bei meinem Ansatz das Spiel auf einen Graphen [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe <del datetime="2007-03-09T23:23:30+00:00">heute</del> gestern seit langen mal wieder ein Gesellschaftsspiel gespielt: <a href="http://de.wikipedia.org/wiki/Rummikub">Rummikub</a>. Rummikub ist wie Rommé nur ohne Karten. Besonders interessiert mich an solchen Spielen immer, ihre Reglen in Algorithmen zu fassen. Obwohl das <a href="http://sorpol.brinkster.net/lemada/pdf/german.pdf">Spielprinzip</a> von Rummikub simpel ist, f&#228;llt es schwer einen effiziente Algorithmus zu entwickeln. Bei meinem Ansatz das Spiel auf einen Graphen abzubilden, dass die Rekursion ziemlich teuer werden k&#246;nnte.<br />
Einen viel versprechenden Ansatz gibt <a href="http://www.cnl.salk.edu/~hendrik/">Hendrik L&#252;bben</a> in seinem Artikel <em><a href="http://www.cnl.salk.edu/~hendrik/f97/AI/Rummikub.html">Playing Rummikub using a "human based" approach</a></em>. Mal sehen, ob ich es schaffe den Algorithmus in <a href="http://www.mono-project.com/Main_Page">Mono</a> zu implementieren. Ein so interessantes Projekt k&#246;nnte mir den n&#246;tigen Anreiz geben endlich Mono/C# vern&#252;nftig zu lernen. </p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F03%2F10%2Frummikub-algorithmisch-loesen%2F&amp;linkname=Rummikub%20algorithmisch%20l%26%23246%3Bsen"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/03/10/rummikub-algorithmisch-loesen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
