<?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>derUwe.de</title>
	<atom:link href="http://deruwe.de/feed" rel="self" type="application/rss+xml" />
	<link>http://deruwe.de</link>
	<description>mein Streifzug durchs Web</description>
	<lastBuildDate>Wed, 02 Dec 2009 17:32:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Adressgenerator</title>
		<link>http://deruwe.de/2009/11/adressgenerator.html</link>
		<comments>http://deruwe.de/2009/11/adressgenerator.html#comments</comments>
		<pubDate>Fri, 27 Nov 2009 14:54:20 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Praxis]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=441</guid>
		<description><![CDATA[Ich mag Personensuchmaschinen nicht. Also warum nicht mal spaßeshalber einen Generator für zufällige Personen bzw. Adressen bauen? Nette Idee wie ich fand, also mal schnell was zusammen gefummelt.
Die nachfolgende PHP-Klasse erzeugt eine zufällige Adresse. Dazu werden die Textdateien benötigt, in welchen ich in Handarbeit Namen, Straßennamen sowie Postleitzahlen und Orte (unabhängig voreinander) zusammengesammelt habe. Aus [...]]]></description>
			<content:encoded><![CDATA[<p>Ich mag Personensuchmaschinen nicht. Also warum nicht mal spaßeshalber einen Generator für zufällige Personen bzw. Adressen bauen? Nette Idee wie ich fand, also mal schnell was zusammen gefummelt.<span id="more-441"></span></p>
<p>Die nachfolgende PHP-Klasse erzeugt eine zufällige Adresse. Dazu werden die Textdateien benötigt, in welchen ich in Handarbeit Namen, Straßennamen sowie Postleitzahlen und Orte (unabhängig voreinander) zusammengesammelt habe. Aus diesem Pool generiert die PHP-Klasse einen zufällige Namen mit Postanschrift.</p>
<p>Bei diesen so erzeugten Adressen paßt jeweils die Postleitzahl auch zum Ort. Möchte jemand die Echtheit einer solchen Fake-Adresse überprüfen bzw. feststellen ob dies ein Fake ist, bräuchte er eine gute Datenbank über alle Straßennamen vor Ort bzw. echte Adressdaten zum Abgleich. Es läßt sich also mit hoher Wahrscheinlichkeit nicht technisch feststellen, ob es sich um eine echte Adresse handelt. Natürlich wird es auch seltene Fälle geben wo die Person und deren Adresse wirklich stimmt. Das bleibt allerdings dem Zufall überlassen.</p>
<p>Folgende Datensätze sind enthalten</p>
<ul>
<li><a href="http://deruwe.de/dateien/2009/11/vornamen_mann.txt">1249 männliche Vornamen</a></li>
<li><a href="http://deruwe.de/dateien/2009/11/vornamen_frau.txt">1695 weibliche Vornamen</a></li>
<li><a href="http://deruwe.de/dateien/2009/11/nachnamen.txt">3421 Nachnamen</a></li>
<li><a href="http://deruwe.de/dateien/2009/11/strassen.txt">7275 Straßennamen</a></li>
<li><a href="http://deruwe.de/dateien/2009/11/plz-ort.txt">13749 (deutsche) Ortsnamen mit Postleitzahl</a></li>
</ul>
<p>Damit sind rein rechnerisch ~1.000.000.000.000.000 verschiedene Personen generierbar, wenn man die Hausnummern noch nicht einmal in die Rechnung mit einbezieht.</p>
<p>Bei den Vor- und Nachnamen habe ich versucht darauf zu achten, dass sie nicht all zu exotisch sind. Ich hoffe es ist gelungen. Wer die Daten einsetzt, sollte prüfen ob sein Namen darin vorkommt und ihn nötigenfalls nachtragen.</p>
<p>Lizenz gibt es keine &#8211; macht damit was ihr wollt. Ich würde mich allerdings über einen Link auf meine Seite freuen.</p>
<ul>
<li><a href="http://deruwe.de/beispiele/adressgenerator/">Testseite ansehen</a></li>
<li><a href="http://deruwe.de/dateien/2009/11/AdressGenerator.zip">Download PHP-Klasse (inkl. Daten)</a></li>
</ul>
<p>Viel Spaß beim Spielen ;)</p>
<h2>Quellcode der PHP-Klasse</h2>
<p><code>&lt;?php<br />
&nbsp;<br />
class&nbsp;Adresse&nbsp;{<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Dateien&nbsp;sind&nbsp;in&nbsp;uft-8<br />
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$fileVornamenFrau&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'./vornamen_frau.txt';<br />
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$fileVornamenMann&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'./vornamen_mann.txt';<br />
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$fileVornamenEgal&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'./vornamen_egal.txt';<br />
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$fileNachnamen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'./nachnamen.txt';<br />
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$fileStrassen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'./strassen.txt';<br />
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$filePlzOrt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'./plz-ort.txt';<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=0&nbsp;-&gt;&nbsp;egal<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=1&nbsp;-&gt;&nbsp;Mann<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=2&nbsp;-&gt;&nbsp;Frau<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;array<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;get($geschlecht=0)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;array(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'vorname'=&gt;$this-&gt;getVorname($geschlecht),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'nachname'=&gt;$this-&gt;getNachname(),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'strasse'=&gt;$this-&gt;getStrasse(),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'nummer'=&gt;$this-&gt;getHausnummer(),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ort'=&gt;$this-&gt;getPlzOrt()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=0&nbsp;-&gt;&nbsp;egal<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=1&nbsp;-&gt;&nbsp;Mann<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=2&nbsp;-&gt;&nbsp;Frau<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getHTML($geschlecht=0)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;'&lt;address&gt;'.&quot;\n&quot;.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;getVorname($geschlecht).'&nbsp;'.$this-&gt;getNachname().'&lt;br&nbsp;/&gt;'.&quot;\n&quot;.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;getStrasse().'&nbsp;'.$this-&gt;getHausnummer().'&lt;br&nbsp;/&gt;'.&quot;\n&quot;.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;getPlzOrt().&quot;\n&quot;.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&lt;/address&gt;'.&quot;\n&quot;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;----------------------------------&nbsp;internal&nbsp;--------------------------------------&nbsp;*/<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=0&nbsp;-&gt;&nbsp;egal<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=1&nbsp;-&gt;&nbsp;Mann<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=2&nbsp;-&gt;&nbsp;Frau<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getVorname($geschlecht=0)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch&nbsp;($geschlecht)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;1:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_getRandomLine($this-&gt;fileVornamenMann);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;2:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_getRandomLine($this-&gt;fileVornamenFrau);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_getRandomLine($this-&gt;fileVornamenEgal);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getNachname()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_getRandomLine($this-&gt;fileNachnamen);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getHausnummer($min=1,$max=99)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result&nbsp;=&nbsp;rand($min,$max);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(rand(0,100)&lt;=20)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;fügt&nbsp;mit&nbsp;20%&nbsp;Wahrscheinlichkeit&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;einen&nbsp;Buchstaben&nbsp;zur&nbsp;Nummer&nbsp;hinzu<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$buchstaben&nbsp;=&nbsp;array('a','b','c');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result&nbsp;.=&nbsp;$buchstaben[rand(0,(count($buchstaben)-1))];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$result.'';<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getStrasse()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_getRandomLine($this-&gt;fileStrassen);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getPlzOrt()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_getRandomLine($this-&gt;filePlzOrt);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;_getRandomLine($file)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$list&nbsp;=&nbsp;@file($file);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!is_array($list)&nbsp;||&nbsp;count($list)&nbsp;&lt;&nbsp;1)&nbsp;return&nbsp;false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;trim($list[rand(0,(count($list)-1))]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
&nbsp;<br />
?&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/11/adressgenerator.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Secondlife Client (32 Bit) unter Gentoo 64 Bit</title>
		<link>http://deruwe.de/2009/11/secondlife-client-32-bit-unter-gentoo-64-bit.html</link>
		<comments>http://deruwe.de/2009/11/secondlife-client-32-bit-unter-gentoo-64-bit.html#comments</comments>
		<pubDate>Sat, 07 Nov 2009 11:53:37 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Praxis]]></category>
		<category><![CDATA[Secondlife]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=425</guid>
		<description><![CDATA[Den Client für Secondlife gibt es offiziell bisher nur für 32 Bit Systeme. Man kann diesen mit ein wenig basteln auch unter einem 64 Bit System benutzen.
Mein Basissystem ist ein aktuelle 64 Bit Gentoo. Nun wird gemäß dem 32Bit Chroot Guide for Gentoo zuerst eine 32 Bit Umgebung installiert.  Bei mir ist dieses nach [...]]]></description>
			<content:encoded><![CDATA[<p>Den Client für Secondlife gibt es offiziell bisher nur für 32 Bit Systeme. Man kann diesen mit ein wenig basteln auch unter einem 64 Bit System benutzen.</p>
<p>Mein Basissystem ist ein aktuelle 64 Bit Gentoo. Nun wird gemäß dem <a href="http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&#038;chap=2">32Bit Chroot Guide for Gentoo</a> zuerst eine 32 Bit Umgebung installiert. <span id="more-425"></span> Bei mir ist dieses nach /opt/linux32 installiert.</p>
<p>Als nächstes wird dieses betreten</p>
<p><code># linux32 chroot /opt/linux32</code></p>
<p>und das Profil auf ein aktuelles Desktop-Profil gesetzt.</p>
<p><code>#&nbsp;eselect&nbsp;profile&nbsp;list<br />
Available&nbsp;profile&nbsp;symlink&nbsp;targets:<br />
&nbsp;&nbsp;[1]&nbsp;&nbsp;&nbsp;default/linux/x86/10.0&nbsp;*<br />
&nbsp;&nbsp;[2]&nbsp;&nbsp;&nbsp;default/linux/x86/10.0/desktop<br />
&nbsp;&nbsp;[3]&nbsp;&nbsp;&nbsp;default/linux/x86/10.0/developer<br />
&nbsp;&nbsp;[4]&nbsp;&nbsp;&nbsp;default/linux/x86/10.0/server<br />
&nbsp;&nbsp;[5]&nbsp;&nbsp;&nbsp;hardened/linux/x86/10.0<br />
&nbsp;&nbsp;[6]&nbsp;&nbsp;&nbsp;selinux/2007.0/x86<br />
&nbsp;&nbsp;[7]&nbsp;&nbsp;&nbsp;selinux/2007.0/x86/hardened<br />
&nbsp;&nbsp;[8]&nbsp;&nbsp;&nbsp;selinux/v2refpolicy/x86<br />
&nbsp;&nbsp;[9]&nbsp;&nbsp;&nbsp;selinux/v2refpolicy/x86/desktop<br />
&nbsp;&nbsp;[10]&nbsp;&nbsp;selinux/v2refpolicy/x86/developer<br />
&nbsp;&nbsp;[11]&nbsp;&nbsp;selinux/v2refpolicy/x86/hardened<br />
&nbsp;&nbsp;[12]&nbsp;&nbsp;selinux/v2refpolicy/x86/server<br />
&nbsp;<br />
#&nbsp;eselect&nbsp;profile&nbsp;set&nbsp;2</code></p>
<p>Anschliessend wird die make.conf für ein X-System angepaßt. Bitte hier auch die richtige Grafikkarte unter VIDEO_CARDS einstellen. Meine make.conf sieht so aus (Auszug):</p>
<p><code>CFLAGS="-O2 -march=native -pipe"<br />
CXXFLAGS="${CFLAGS}"<br />
CHOST="i686-pc-linux-gnu"<br />
USE="mmx sse sse2 -ldap -acl -ipv6 esd -gnome -nls -cups -doc"<br />
VIDEO_CARDS="nvidia"<br />
INPUT_DEVICES="evdev keyboard mouse"</code></p>
<p>Nun installieren wir die diversen Pakete die für ein X-System notwendig sind. esound pack ich auch gleich mit dazu (hier bin ich mir allerdings nicht sicher ob der nötig wäre, schaden kann es jedenfall nicht) Idealerweise benutzt man -e um das System gleich passend für die CPU zu übersetzen.</p>
<p><code># emerge -e xorg-x11 esound</code></p>
<p>Die Installation wird in diesem Fall spätestens bei der Installation der nvidia-drivers abbrechen.</p>
<p>Dazu kurz zur Erklärung. Um die Grafiktreiber zu installieren wird ein konfigurierter und kompilierter Kernel vorrausgesetzt. Dies ist zu diesem Zeitpunkt noch nicht geschehen und ich konnte bisher auch keine Möglichkeit finden den Kernel im linux32-chroot zu kompilieren.</p>
<p>Dazu an dieser Stelle folgender Workaround. Man installiert die gleiche Kernelversion auf einer 32 Bit Maschine, konfiguriert und kompiliert diese dort und kopiert das /usr/src/linux Verzeichnis wieder in den chroot. Wer möchte kann auch ein bootbares 32Bit System auf einer anderen Partition erstellen und dieses für den chroot nutzen. Das kann etwas Ärger ersparen. </p>
<p>Also nochmal zusammenfassend: vor der Grafiktreiber-Installation den Kernel konfigurieren und kompilieren. Anschliessend prüfen ob der Symlink /usr/src/linux auch auf diese Kernelsourcen zeigt.</p>
<p>Nun ist der Kernel im chroot konfiguriert und der Grafiktreiber bzw. die restlichen Pakete lassen sich mit</p>
<p><code># emerge --resume</code></p>
<p>installieren. Nicht vergessen anschliessend mit eselect das richtige opengl Interface auszuwählen.</p>
<p><code># eselect opengl list<br />
Available OpenGL implementations:<br />
  [1]   nvidia<br />
  [2]   xorg-x11 *<br />
# eselect opengl set 1</code></p>
<p>Das wars schon. Es müssen innerhalb der chroot-Umgebung keine Konfigurationsdateien bearbeitet werden.</p>
<p>Jetzt den Secondlife Client herunterladen und auspacken. Das Erläutern hierzu erspar ich mir, so schlau werdet ihr ja selbst sein ;)</p>
<p>Anschliessend im 64 Bit System (also außerhalb des chroot) den X-Server für localhost freigeben.</p>
<p><code># xhost local:localhost</code></p>
<p>Nun kann innerhalb des chroot der Secondlife Client gestartet werden.</p>
<p>Bei folgender Fehlermeldung <a href="http://deruwe.de/2009/11/wenn-secondlife-unter-linux-nicht-will.html">diesen Workround</a> beachten.</p>
<p><code>bin/do-not-directly-run-secondlife-bin: error while loading shared libraries:<br />
libjpeg.so.62: cannot open shared object file: No such file or directory</code></p>
<p>Viel Erfolg.</p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/11/secondlife-client-32-bit-unter-gentoo-64-bit.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wenn Secondlife unter Linux nicht will</title>
		<link>http://deruwe.de/2009/11/wenn-secondlife-unter-linux-nicht-will.html</link>
		<comments>http://deruwe.de/2009/11/wenn-secondlife-unter-linux-nicht-will.html#comments</comments>
		<pubDate>Sat, 07 Nov 2009 11:10:30 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Praxis]]></category>
		<category><![CDATA[Secondlife]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=416</guid>
		<description><![CDATA[Auf meiner Gentoo Maschine will der (Linux) Client für Secondlife mit folgender Fehlermeldung nicht starten.
bin/do-not-directly-run-secondlife-bin: error while loading shared libraries:
libjpeg.so.62: cannot open shared object file: No such file or directory
Dies kommt daher das nur eine aktuellere Version der libjpeg installiert ist. In diesem Fall hilft ein einfacher Symlink auf die aktuelle Version.
# cd /usr/lib
# ln [...]]]></description>
			<content:encoded><![CDATA[<p>Auf meiner Gentoo Maschine will der (Linux) Client für Secondlife mit folgender Fehlermeldung nicht starten.</p>
<p><code>bin/do-not-directly-run-secondlife-bin: error while loading shared libraries:<br />
libjpeg.so.62: cannot open shared object file: No such file or directory</code></p>
<p>Dies kommt daher das nur eine aktuellere Version der libjpeg installiert ist. In diesem Fall hilft ein einfacher Symlink auf die aktuelle Version.</p>
<p><code># cd /usr/lib<br />
# ln -s libjpeg.so libjpeg.so.62</code></p>
<p>Zur Überprüfung sieht dann so aus:</p>
<p><code># ls -l libjpeg.so*<br />
lrwxrwxrwx 1 root root     16 2009-11-07 00:48 libjpeg.so -> libjpeg.so.7.0.0<br />
lrwxrwxrwx 1 root root     10 2009-11-07 11:05 libjpeg.so.62 -> libjpeg.so<br />
lrwxrwxrwx 1 root root     16 2009-11-07 00:48 libjpeg.so.7 -> libjpeg.so.7.0.0<br />
-rwxr-xr-x 1 root root 218628 2009-11-07 00:48 libjpeg.so.7.0.0</code></p>
<p>Fertig. Viel Spaß beim Spielen.</p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/11/wenn-secondlife-unter-linux-nicht-will.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best of Spam ;)</title>
		<link>http://deruwe.de/2009/09/best-of-spam.html</link>
		<comments>http://deruwe.de/2009/09/best-of-spam.html#comments</comments>
		<pubDate>Sat, 12 Sep 2009 20:17:32 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[Fundstücke]]></category>
		<category><![CDATA[witzig]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=412</guid>
		<description><![CDATA[Ich bin niemand der Spam liest, aber manchmal fällt die eine oder andere E-Mail dennoch auf. Diese wunderschöne Wortwahl und das ordentliche Deutsch mit dem versucht wird etwas an den Mann (oder die Frau) zu bringen. ;)
Hier meine persönlichen Best of:

Ich bin interessiert, ein sehr entwicklungsfähiges Geschäft auswärts an herzustellen und an laufen zu lassen [...]]]></description>
			<content:encoded><![CDATA[<p>Ich bin niemand der Spam liest, aber manchmal fällt die eine oder andere E-Mail dennoch auf. Diese wunderschöne Wortwahl und das ordentliche Deutsch mit dem versucht wird etwas an den Mann (oder die Frau) zu bringen. ;)</p>
<p>Hier meine persönlichen Best of:</p>
<hr />
<p><em>Ich bin interessiert, ein sehr entwicklungsfähiges Geschäft auswärts an herzustellen und an laufen zu lassen als Mittel der Investition. Ich weiß zu gut nicht auf, wie dieses in Ihrem Land getan wird, also benötige ich Sie, mir in dieser Hinsicht zu helfen. Meine Präferenz ist jeder möglicher gutprofit, der Geschäft erbringt und ich würde irgendwelche entwicklungsfähigen Ideen schätzen, die Sie mit aufkommen konnten. Ich benötige Sie auch, mir zu helfen, nach Eigenschaften wie Häuser und Länder für Verkauf zu suchen, wie ich vorschlage, die Summe von fünfzig Million Staat-Dollar (EURO 50.000.000) für dieses zu investieren. Ich weiß nicht, wenn Sie können und hilfreich zu mir sein werden. Für einen Schriftsatz auf meiner Pers5onlichkeit; mein Name ist John Bredenkamp, ein Simbabwer, der in Großbritannien angesiedelt wird. Ich war in privates Transportwesen. Ich bin 68 Lebensjahre, geheiratet mit einer Frau und 4 reizenden Kindern. Ich ließ mein Transportwesen fallen, weil es nicht rentables Einkommen produzierte. Ich habe soviel Probleme mit der britischen Berechtigung gehabt, gerade weil morgens ein Ausländer, den ich glaube. Meine Notwendigkeit an diesem Geschäftsvorschlag und diese Eigenschaften zu erwerben ist sehr dringend, da ich plane, aus diesem Land mit meiner Familie heraus unten auf Ihr Land umzuziehen. Leben in, ich wünsche Sie im Finden eines guten Hauses auch helfen, dem meine Familie und ich (Minizustand) Bitte erwarte ich Ihre sofortige Antwort, damit wir schnell fortfahren können. Ich benötige Ihre Telefon- und Telefaxzahlen für einfachere Kommunikation mit Ihnen, wenn ich nicht imstande bin, auf meine eMail zurückzugreifen. Bester Respekt, John Bredenkamp.</em><br />
<span id="more-412"></span></p>
<hr />
<p><em>Aufmerksamkeit: Begünstigter, </em><br />
 <br />
<em>Ihr email address kam in einen gelegentlichen abgehobenen Betrag auf, der durch meine Sozietät geleitet wurde; Gesetz-Räume Georges-Khayat in der teigig Straße London WC1N 2LS. Mein Name ist Georges Khayat (esq.). Ein persönlicher Rechtsanwalt zu unserem späten Klient Herrn ABDUL SAAZ, der mit einer Ölfirma in London arbeitete, Herr ABDULSAAZ ein weithin bekannter Philanthrop, bevor er starb, bildete er einen Willen in unserer Sozietät, die angibt, dass (USD$12.5Million Vereinigte Staaten Dollar) (USD$12,500,000.00) sollten zu jedem möglichem Philanthrop Ihrer Wahl außerhalb Londons gespendet werden (übersee.) </em><br />
 <br />
<em>Meine Räume leiteten einen gelegentlichen abgehobenen Betrag, der durch das Justizministerium überwacht wurde und Finanzhaus die Bank, die hält, das Geld und Ihr Name und email address als das Begünstigte zu diesem wird ausgewählt wurde. Ich bin besonders interessiert, an, dieses Geld von der Bank zu sichern, weil sie eine Nachricht herausgegeben haben, die meinen Raum anweist, um den Begünstigten von diesem zu produzieren werden innerhalb zwei Wochen, das geschieht, Sie zu sein, oder sonst wird das Geld zum Regierungsfiskus als pro Gesetz hier gutgeschrieben. </em><br />
 <br />
<em>Es ist mein äußerster Wunsch, den Willen unseres späten Klienten durchzuführen. Sie sind erfordert, um mit mir mit Ihren Details sofort in Verbindung zu treten</em><br />
 <br />
<em>1. Ihr vollständiger Name</em><br />
 <br />
<em>2. Ihre Mobiltelefon-Zahl</em><br />
 <br />
<em>3. Ihre Kontakt-Adresse</em><br />
 <br />
<em>damit wir den Prozess der Übertragung dieses Geldes auf irgendwelche Ihres gekennzeichneten amtlichen Kontos beginnen. Ich dränge Sie, mit mir für die weiteren Details sofort in Verbindung zu treten, die bedenken, dass die Bank uns eine Datumbegrenzung festgesetzt hat. Treten Sie mit mir bitte dringend über mein persönliches email address in Verbindung, wie folgt: &#8212; GELÖSCHT &#8212;</em><br />
 <br />
<em>GLÜCKWÜNSCHE.</em><br />
 <br />
<em>Respekt,</em><br />
 <br />
<em>RECHTSANWALT, GEORGES KHAYAT [Esq.].</em><br />
 <br />
<em>BEMÜHUNG, FÜR DAS WENIGER PRIVILEDGED ZU VERWENDEN</em></p>
<hr />
<p><em>Sehr geehrter PayPal</em></p>
<p><em>Warnung! Ihr PayPal-Konto wurde nur eine begrenzte!</em></p>
<p><em>Im Rahmen unserer Maßnahmen zur Gefahrenabwehr, überpüfen wir regelmäßig die Tätigkeit der PayPal-Konten. Um die Kontinuität einiger inaktive Accounts. Wir möchten erhalten bestimmte Informationen über Ihr Konto, um die Sicherheit es zu gewährleisten:</em></p>
<hr />
<p><em>Das Gewehr AK 47 und die blaue Tablette&#8230; Was allgemein zwischen ihnen?</em></p>
<p><em>Die Antwort ist &#8211; die Effektivität einfach&#8230;Gib 5 Minuten aus und kaufe wirklich wirksam und modern Sex die Pillen,</em></p>
<p><em>Nach best online dem Preis.</em></p>
<p><em>Die Zustellung der Pillen &#8211; mit Geschwindigkeit des Geschosses.</em></p>
<hr />
<p><em>Bestellen Sie einfach und machen Sie sich keine Sorgen! Sie werden garantiert gut bedient und nicht viel zahlen muessen!</em></p>
<p><em>Wir reduzieren alle unsere Preise bis zur 40%!(fur PC und MAC) Hier sind da, um beste Angebote im Jahr anzubieten.</em></p>
<p><em>Wir liefern alle unsere Produkte bis zu 40% billiger! Das ist echt unglaublich!</em></p>
<hr />
<p><em>Wir haben eine Promotion damit Sie Ihr Geld beim Kauf von Software nicht verschenken! 30% Rabatt!</em></p>
<p><em>Noch sofort, noch billiger&#8230; wir brechen alle Grenzen. Jetzt neue Software erwerben und richtig Geld geizen. Nur legale Vollverionen.</em></p>
<hr />
<p><em>Jobangebot: Wir bieten Ihnen einfache Arbeit an, die keine spezielle Fertigkeiten und keine Geldanlagen verlangt. Sie können diese Arbeit mit Ihrer Hauptarbeit vereinbaren. Mit uns können Sie leicht 5000-6000 Euro pro Monat verdienen, dabei brauchen Sie für diese Arbeit 2-3 Stunden pro Tag 1-2 Mal pro Woche. Kurze Beschreibung der Tätigkeit:</em></p>
<p><em>Ihre Aufgabe ist, Geldüberweisungen auf Ihr Konto zu erhalten, das Geld in bar abzuheben und abzüglich Ihrer Provision unserem Agent per System der Bargeldüberweisungen Western Union oder Money Gram zu überweisen. Gewöhnlich überweisen wir auf Ihr Konto 4000-6000 Euro. Ihre Provision wird 20 % (20 Prozenten) von jeder Geldüberweisung ausmachen. Ihre Provision (20 Prozenten) bekommen Sie, sofort nach dem Geldeingang auf Ihr Konto. Auf diese Weise wenn Sie 6000 Euro auf Ihr Konto erhalten, verdienen Sie 1200 Euro. Sie können Ihre Provision gleich abheben oder auf dem Konto lassen. Die restliche Summe 4800 Euro sollen Sie am Tag des Geldeingangs in bar abheben und unserem Agent per Western Union oder Money Gram überweisen (Gebühr für Überweisung bezahlen wir). Zeitaufwand für diese ganze Arbeit beträgt nicht mehr als 3 Stunden. Wenn Sie 2 Überweisungen pro Woche erhalten werden, können Sie nicht weniger als 6000 Euro von jedem Konto pro Monat verdienen. Diese Tätigkeit abweichend von den meisten Angeboten, die Sie per e-Mail bekommen, verletzt nicht Gesetze von BRD. Es gibt überhaupt kein Risiko für Sie. Sie werden keinen Verdacht bei der Bank und bei der Steuerbehörde erregen, wenn Sie 1-2 Geldüberweisungen pro Woche auf jedes von Ihren Konten bekommen werden. Mehr als 200 Menschen arbeiten mit uns schon längere Zeit in verschiedenen Städten Deutschlands. Wir vergrößern jetzt unser Geschaft und suchen neue Mitarbeiter.  Wenn Sie Interesse an diesem Arbeitsangebot haben, schicken Sie uns folgende Daten auf unsere e-Mailadresse &#8212;GELÖSCHT&#8212; : 1.Vorname 2.Nachname 3.Straße 4.Stadt 5.Telefonnummer (Handy, Festnetz) Unser Manager kontaktiert Sie in möglichst kurzer Zeit und antwortet gerne auf Ihre Fragen. Beeilen Sie sich, Zahl von Stellenangeboten ist begrenzt! Unsere Organisation entschuldigt sich, wenn unser e-Mail Sie gestört hat. Ihre e-Mailadresse wurde aus offenen Quellen genommen. Falls dieses e-Mail Ihnen falsch geschickt wurde und Sie Ihre e-Mailadresse aus unserem Verteiler löschen möchten, schicken Sie ein leeres e-Mail auf folgende e-Mailadresse: &#8212;GELÖSCHT&#8212;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/09/best-of-spam.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>kleine Datenrettung unter Linux</title>
		<link>http://deruwe.de/2009/09/kleine-datenrettung-unter-linux.html</link>
		<comments>http://deruwe.de/2009/09/kleine-datenrettung-unter-linux.html#comments</comments>
		<pubDate>Sat, 12 Sep 2009 19:09:03 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Praxis]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=405</guid>
		<description><![CDATA[Eine meiner Festplatten hat den Geist aufgegeben. Dummweise gleich die auf der sich die Systempartition befand. Bemerkbar gemacht hat sch das unter Linux durch Meldungen wie diese auf der Console:
ata3.00:&#160;cmd&#160;c8/00:08:43:c6:c1/00:00:00:00:00/e0&#160;tag&#160;0&#160;cdb&#160;0x0&#160;data&#160;4096&#160;in
res&#160;51/40:08:43:c6:c1/00:00:00:00:00/e0&#160;Emask&#160;0x9&#160;(media&#160;error)

Kurz darauf crashte der Rechner komplett. Nach einem Hardreset bootet der Rechner auch nicht mehr. Also Festplatte hinüber. 
Ran an die Datenrettung. Als Erstes habe ich [...]]]></description>
			<content:encoded><![CDATA[<p>Eine meiner Festplatten hat den Geist aufgegeben. Dummweise gleich die auf der sich die Systempartition befand. Bemerkbar gemacht hat sch das unter Linux durch Meldungen wie diese auf der Console:</p>
<p><code>ata3.00:&nbsp;cmd&nbsp;c8/00:08:43:c6:c1/00:00:00:00:00/e0&nbsp;tag&nbsp;0&nbsp;cdb&nbsp;0x0&nbsp;data&nbsp;4096&nbsp;in<br />
res&nbsp;51/40:08:43:c6:c1/00:00:00:00:00/e0&nbsp;Emask&nbsp;0x9&nbsp;(media&nbsp;error)</code><br />
<span id="more-405"></span></p>
<p>Kurz darauf crashte der Rechner komplett. Nach einem Hardreset bootet der Rechner auch nicht mehr. Also Festplatte hinüber. </p>
<p>Ran an die Datenrettung. Als Erstes habe ich von einer Knoppix-CD gebootet. Hier ist zu beachten das einige Knoppix-CDs erkannte Swap-Partitionen automatisch mounten. Dies sollte man unbedingt per Bootparameter verhindern, sonst wird womöglich die defekte Platte gleich wieder benutzt. Auch benötigt man die grafische Oberfläche nicht, also startet man Knoppix am Bootprompt am besten mit</p>
<p><code>knoppix 2 noswap</code></p>
<p>Also Knoppix hochgefahren war, habe ich als Nächstes erst einmal mit </p>
<p><code>smartctl -a /dev/sda</code></p>
<p>die defekte Platte untersucht. (<a href="http://deruwe.de/dateien/2009/09/smartctl.log.txt">komplettes Log</a>). Der Wert Current_Pending_Sector, welcher die defekten Sektoren angibt, war meiner Meinung nach auffällig hoch.</p>
<p>Ein anschliessendes</p>
<p><code>badblocks -v /dev/sda</code></p>
<p>bestätigte dies und lieferte jede Menge defekte Sektoren zurück (ca. 200). Bis auf eine Partitionen konnte ich alle mounten und die Daten sichern. Eine XFS-Partition war jedoch nicht mehr zum Mounten zu bewegen. (Defekter Superblock?)</p>
<p>Ein Reparaturversuch direkt auf der defekten Platte kam für mich nicht in Frage. Also benutze ich benutze dd_rescue um diese Partition als Image auf meinem Raid (gemountet unter /RAID) auszulesen.</p>
<p><code>dd_rescue /dev/sda5 /RAID/sda5.img</code></p>
<p>Das kann je nach Partitionsgröße eine ganze Weile dauern. Es sollte natürlich entsprechend Platz auf dem Ziellaufwerk vorhanden sein. Anschliessend habe ich das Image kopiert um den Reparatur-Versuch abzusichern.</p>
<p><code>cp /RAID/sda5.img /RAID/sda5.img.org</code></p>
<p>Anschliessend ein </p>
<p><code>xfs_repair /RAID/sda5.img</code></p>
<p>Es gab keine Fehlermeldungen und ich konnte anschliessend das Image mounten und die Daten darauf sichern.</p>
<p><code>mount -o ro,loop /RAID/sda5.img /mnt/...</code></p>
<p>Anschliessend habe ich mir erstmal ein Bier gegönnt und so das Überleben meiner Daten gefeiert. ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/09/kleine-datenrettung-unter-linux.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein einfacher FIFO-Cache in LSL</title>
		<link>http://deruwe.de/2009/09/ein-einfacher-fifo-cache-in-lsl.html</link>
		<comments>http://deruwe.de/2009/09/ein-einfacher-fifo-cache-in-lsl.html#comments</comments>
		<pubDate>Tue, 08 Sep 2009 04:43:03 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[Praxis]]></category>
		<category><![CDATA[LSL]]></category>
		<category><![CDATA[Secondlife]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=397</guid>
		<description><![CDATA[FIFO geschreibt einen einfachen Algorithmus bei dem zuerst ankommende Daten auch als Erste verarbeitet werden (First In &#8211; First Out). Man kann es sich als einfache Warteschlange vorstellen. 
Hier ein einfacher FIFO-Cache in LSL (Linden Scripting Language) mit dem es möglich ist ankommende Daten zwischenzuspeichern um sie später sequenziell abzuarbeiten.  Sinnvoll ist soetwas überall [...]]]></description>
			<content:encoded><![CDATA[<p>FIFO geschreibt einen einfachen Algorithmus bei dem zuerst ankommende Daten auch als Erste verarbeitet werden (First In &#8211; First Out). Man kann es sich als einfache Warteschlange vorstellen. </p>
<p>Hier ein einfacher FIFO-Cache in LSL (Linden Scripting Language) mit dem es möglich ist ankommende Daten zwischenzuspeichern um sie später sequenziell abzuarbeiten. <span id="more-397"></span> Sinnvoll ist soetwas überall dort wo es durch Ereignisse (z.B. Benutzereingaben oder Sensoren) recht schnell viele Daten entstehen können, die man jedoch (durch Beschränkungen in LSL) nur relativ langsam abarbeiten kann. Man schafft sich damit einen Buffer bei &#8220;Lastspitzen&#8221;.</p>
<p>Je nach Datentyp muss das Script entsprechend angepaßt werden, dieses Beispiel ist für Keys. </p>
<p><code>list&nbsp;LIST_KEYS;<br />
&nbsp;<br />
addCache(key&nbsp;uuid)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;integer&nbsp;found&nbsp;=&nbsp;llListFindList(LIST_KEYS,&nbsp;[uuid]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(found&nbsp;&lt;&nbsp;0)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LIST_KEYS&nbsp;+=&nbsp;[uuid];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
&nbsp;<br />
key&nbsp;getCache()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(llGetListLength(LIST_KEYS))&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key&nbsp;result&nbsp;=&nbsp;llList2Key(LIST_KEYS,0);&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LIST_KEYS&nbsp;=&nbsp;llDeleteSubList(LIST_KEYS,&nbsp;0,&nbsp;1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;result;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;NULL_KEY;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</code></p>
<p>Die Benutzung ist recht einfacht. Mit addCache(key) wird ein Key in den Cache geschrieben und mit getCache() der nächste Key aus dem Cache geholt (und dort gelöscht). Ist der Cache leer wird NULL_KEY zurückgegeben. </p>
<p>In addCache() befindet sich zudem eine Prüfung ob der Schlüssel schon im Cache vorhanden ist. Diese IF-Adfrage kann auch weggelassen werden, kann aber auch recht sinnvoll sein um z.B. nur Schlüssel in den Cache einzufügen die noch nicht dort vorhanden sind (z.B. um Doppelbestellungen durch falsches Klicken bei Vendoren zu verhindern)</p>
<p>Man sollte beachten, der Speicher bei einem LSL Script ist beschränkt. Die Anzahl der maximalen Einträge im Cache (bevor es zu einem Speicherüberlauf) kommt kann recht unterschiedlich sein. Daher sollte der Cache immer schnellstmöglich abgearbeitet werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/09/ein-einfacher-fifo-cache-in-lsl.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YaCy und myblog.de</title>
		<link>http://deruwe.de/2009/09/yacy-und-myblog-de.html</link>
		<comments>http://deruwe.de/2009/09/yacy-und-myblog-de.html#comments</comments>
		<pubDate>Sun, 06 Sep 2009 16:43:33 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[YaCy]]></category>
		<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=387</guid>
		<description><![CDATA[Mein YaCy Peer crawlt gerade die Blogs auf myblog.de. Die Seiten lassen sich gut crawlen und die Server scheinen verdammt fix. Bis zu 2200 PPM (pages per minute) konnte ich beobachten. 

Insgesamt macht myblog.de einen recht guten ersten Eindruck auf mich &#8211; nicht nur aufgrund der Performence, auch lassen sich einzelne Blogs per Passwort schützen, [...]]]></description>
			<content:encoded><![CDATA[<p>Mein <a href="http://yacy.net">YaCy</a> Peer crawlt gerade die Blogs auf <a href="http://www.myblog.de/">myblog.de</a>. Die Seiten lassen sich gut crawlen und die Server scheinen verdammt fix. Bis zu 2200 PPM (pages per minute) konnte ich beobachten. </p>
<div id="attachment_388" class="wp-caption aligncenter" style="width: 310px"><a href="http://deruwe.de/dateien/2009/09/crawling_myblog.de.png"><img src="http://deruwe.de/dateien/2009/09/crawling_myblog.de-300x109.png" alt="Bis zu 2200 PPM auf myblog.de" title="crawling_myblog.de" width="300" height="109" class="size-medium wp-image-388" /></a><p class="wp-caption-text">Bis zu 2200 PPM auf myblog.de</p></div>
<p><span id="more-387"></span></p>
<p>Insgesamt macht myblog.de einen recht guten ersten Eindruck auf mich &#8211; nicht nur aufgrund der Performence, auch lassen sich einzelne Blogs per Passwort schützen, dass nur ausgewählte Personen diese lesen können.</p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/09/yacy-und-myblog-de.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Die 38463 besten Blogs auf wordpress.com?</title>
		<link>http://deruwe.de/2009/08/die-38463-besten-blogs-auf-wordpress-com.html</link>
		<comments>http://deruwe.de/2009/08/die-38463-besten-blogs-auf-wordpress-com.html#comments</comments>
		<pubDate>Sun, 23 Aug 2009 19:52:38 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[YaCy]]></category>
		<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=245</guid>
		<description><![CDATA[Die Crawls auf wordpress.com sind abgeschlossen. Sicherlich wurde nur ein Bruchteil aller Domains erfaßt. Eine Domain entspricht jeweils einem Blog. Da der Crawler von Link zu Link wandert und dementsprechend nur verlinkte Blogs fand, nehme ich an diese 38463 Blogs gehören zu den aktivsten bzw. attraktivsten die auf wordpress.com gehostet werden. Sonst hätte sie niemand [...]]]></description>
			<content:encoded><![CDATA[<p>Die <a href="http://deruwe.de/2009/08/yacy-crawlt-gerade-blogs-auf-de-wordpress-com.html">Crawls auf wordpress.com</a> sind abgeschlossen. Sicherlich wurde nur ein Bruchteil aller Domains erfaßt. Eine Domain entspricht jeweils einem Blog. Da der Crawler von Link zu Link wandert und dementsprechend nur verlinkte Blogs fand, nehme ich an diese 38463 Blogs gehören zu den aktivsten bzw. attraktivsten die auf wordpress.com gehostet werden. Sonst hätte sie niemand verlinkt.</p>
<div id="attachment_343" class="wp-caption aligncenter" style="width: 310px"><a href="http://deruwe.de/dateien/2009/08/yacy_webstruktur_wordpress.com.png"><img src="http://deruwe.de/dateien/2009/08/yacy_webstruktur_wordpress.com-300x225.png" alt="Teil der Linktopologie um de.wordpress.com" title="yacy_webstruktur_wordpress.com" width="300" height="225" class="size-medium wp-image-343" /></a><p class="wp-caption-text">Teil der Linktopologie um de.wordpress.com</p></div>
<p><span id="more-245"></span></p>
<h2>Die Liste</h2>
<p><strong>Hinweis</strong>: Diese Linkliste kam durch einen Crawler zustande und dient rein statistischen, technischen bzw. wissenschaftlichen Zwecken. Ich habe keine Kenntnis von Inhalten auf diesen Seiten. Die verlinkten Inhalte geben nicht meine Meinung wieder. Aufgrund der Menge der Daten war es mir nur stichprobenartig möglich diese auf womögliche illegale Inhalte zu überprüfen. Sollte jemand illegale Inhalte entdecken, bitte Nachricht an mich und ich werde den Link sofort entfernen.</p>
<ul>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_0_9.html">0-9 (311 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_a.html">A (3032 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_b.html">B (93 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_c.html">C (2336 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_d.html">D (1996 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_e.html">E (1402 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_f.html">F (1525 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_g.html">G (1310 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_h.html">H (1153 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_i.html">I (1266 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_j.html">J (1098 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_k.html">K (1262 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_l.html">L (1928 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_m.html">M (3124 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_n.html">N (1278 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_o.html">O (760 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_p.html">P (2057 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_q.html">Q (139 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_r.html">R (1595 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_s.html">S (3540 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_t.html">T (2581 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_u.html">U (444 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_v.html">V (662 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_w.html">W (2841 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_x.html">X (99 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_y.html">Y (316 Domains)</a></li>
<li><a href="http://deruwe.de/wordpress_com_august_2009_liste_z.html">Z (314 Domains)</a></li>
</ul>
<h2>Liste als Textdatei</h2>
<ul>
<li><a href="http://deruwe.de/dateien/2009/08/linkliste.txt">Download Textdatei</a></li>
</ul>
<h2>Linktopologie</h2>
<p>Auch gibt es noch <a href="http://deruwe.de/dateien/2009/08/yacy_webstruktur_wordpress.com_gross.png">ein extragroßes Bild</a> der Linktopologie zum Download.</p>
<p><strong>Vorsicht</strong>, das Bild ist 8000&#215;8000 Pixel. Bei einem nicht leistungsfähigem Rechner kann beim Aufruf der Browser abstürzen.</p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/08/die-38463-besten-blogs-auf-wordpress-com.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wenn die USB Festplatte nicht will &#8230;</title>
		<link>http://deruwe.de/2009/08/wenn-die-usb-festplatte-nicht-will.html</link>
		<comments>http://deruwe.de/2009/08/wenn-die-usb-festplatte-nicht-will.html#comments</comments>
		<pubDate>Sat, 22 Aug 2009 15:40:23 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[Praxis]]></category>
		<category><![CDATA[Festplatte]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=216</guid>
		<description><![CDATA[ &#8230; kann es an der Spannungsversorgung liegen. Ich hatte zur Datensicherung eben eine ältere Notebookfestplatte in mein USB Gehäuse eingebaut, am Rechner angesteckt und es passierte nicht viel. Linux erkannte zwar die Platte, konnte aber keine Partitionen darauf finden. 

Ein ähnliches Problem hatte ich vor einer Weile schonmal und konnte es damals auf die [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://deruwe.de/dateien/2009/08/externe-USB-Festplatte.png"><img src="http://deruwe.de/dateien/2009/08/externe-USB-Festplatte-150x112.png" alt="externe USB Festplatte" title="externe USB Festplatte" width="150" height="112" class="alignleft size-thumbnail wp-image-214" /></a> &#8230; kann es an der Spannungsversorgung liegen. Ich hatte zur Datensicherung eben eine ältere Notebookfestplatte in mein USB Gehäuse eingebaut, am Rechner angesteckt und es passierte nicht viel. Linux erkannte zwar die Platte, konnte aber keine Partitionen darauf finden. </p>
<p><span id="more-216"></span></p>
<p>Ein ähnliches Problem hatte ich vor einer Weile schonmal und konnte es damals auf die Spannungsversorgung zurückführen. Anscheinend dieses Mal das gleiche Problem. (Ältere?) USB Platten haben nunmal eine deutlich höhere Stromaufnahme als USB Sticks und moderne Boards liefern anscheinend nicht immer die nötige Power am USB Anschluss.</p>
<p>Was mir geholfen hat &#8211; das alte Ladegerät eines Nokia-Handys. Es liefert auch etwa 5 V (je nach Modell verschieden), einen ausreichend großen Strom und der Stecker paßte perfekt an den Netzstecker des USB Gehäuses. Hat alles super funktioniert um die Daten von der Platte zu retten. Ich kann nicht beurteilen ob dies als Dauerlösung geeignet wäre.</p>
<p>Wer also Probleme mit der exteren USB Festplatte hat, sollte evt. mal den Workaround mit einem Handyladegerät probieren.</p>
<p><a href="http://deruwe.de/dateien/2009/08/Stromanschluss-USB-Festplatte.png"><img src="http://deruwe.de/dateien/2009/08/Stromanschluss-USB-Festplatte-300x225.png" alt="Stromanschluss USB Festplatte" title="Stromanschluss USB Festplatte" width="300" height="225" class="aligncenter size-medium wp-image-215" /></a></p>
<p>(Bildnachweis: eigene Aufnahmen)</p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/08/wenn-die-usb-festplatte-nicht-will.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nachrichten aus StudiVZ exportieren</title>
		<link>http://deruwe.de/2009/08/nachrichten-aus-studivz-exportieren.html</link>
		<comments>http://deruwe.de/2009/08/nachrichten-aus-studivz-exportieren.html#comments</comments>
		<pubDate>Sat, 22 Aug 2009 12:39:18 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[Praxis]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=206</guid>
		<description><![CDATA[Ich suchte letztens eine Möglichkeit eine Menge Nachrichten aus StudiVZ zu exportieren um sie mir zu archivieren. Ich habe eine recht praktische Möglichkeit gefunden. 

Dazu benötigt man FreePOPs, ein Programm das diverse Ressourcen (z.B. auch RSS) via POP3 zur Verfügung stellen kann und das StudiVZ Plugin. Damit kann man mit jedem beliebigen Mailprogramm Nachrichten aus [...]]]></description>
			<content:encoded><![CDATA[<p>Ich suchte letztens eine Möglichkeit eine Menge Nachrichten aus StudiVZ zu exportieren um sie mir zu archivieren. Ich habe eine recht praktische Möglichkeit gefunden. </p>
<p><span id="more-206"></span></p>
<p>Dazu benötigt man <a href="http://www.freepops.org/en/">FreePOPs</a>, ein Programm das diverse Ressourcen (z.B. auch RSS) via POP3 zur Verfügung stellen kann und <a href="http://www.andremartin.de/StudiVzPlugin/German.htm">das StudiVZ Plugin</a>. Damit kann man mit jedem beliebigen Mailprogramm Nachrichten aus StudiVZ wie E-Mails empfangen. Das Plugin ist laut Entwickler kompatibel zu StudiVz, MeinVz und SchülerVz. Auch Nachrichten direkt aus dem Mailprogramm schreiben ist möglich, habe ich jedoch nicht getestet.</p>
<p>Ich hatte etwa 1200 Nachrichten zu exportieren, nach jeweils ca. 200 kam es immer zum Abbruch, aber nach einem Neustart fuhr es fort wo es aufgehört hatte.</p>
<p>Zu beachten ist, heruntergeladene Nachrichten werden auf StudiVZ gelöscht und stehen dann dort nicht mehr zu Verfügung. </p>
<p>Wem die Nachrichten sehr wichtig sind, der sollte sich nach einem Anbieter mit IMAP Postfach umsehen (GMX, Web.de,&#8230;) und die heruntergeladenen Nachrichten wieder dort (als E-Mails) ablegen. Da geht dann auch nichts verloren wenn der eigene Rechner den Geist aufgibt und/oder die Backup-CD plötzlich nicht mehr lesbar ist.</p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/08/nachrichten-aus-studivz-exportieren.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
