<?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>Tobis Blog</title>
	<atom:link href="http://blog.aditu.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.aditu.de</link>
	<description>Alles rund um Webentwicklung, Fotografie, PHP und das Zend Framework</description>
	<lastBuildDate>Tue, 23 Feb 2010 20:21:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>munich 3 to 8</title>
		<link>http://blog.aditu.de/2010/02/23/munich-3-to-8/</link>
		<comments>http://blog.aditu.de/2010/02/23/munich-3-to-8/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 20:21:06 +0000</pubDate>
		<dc:creator>Tobi</dc:creator>
				<category><![CDATA[Fotografie]]></category>

		<guid isPermaLink="false">http://blog.aditu.de/?p=390</guid>
		<description><![CDATA[Ende letzten Jahres haben wir (huhu Sascha und Julia  ) eine kleine Fototour durch das nächtliche München gemacht. Es war eine ganz interessante Fotosession, wo wir zur ungewöhnlichen Zeit zwischen 3 Uhr bis 8 Uhr unterwegs waren und München beim Schlafen und Aufwachen zugesehen haben. Entstanden ist daraus eine kleine Fotoserie, die ich nun, [...]]]></description>
			<content:encoded><![CDATA[<p>Ende letzten Jahres haben wir (huhu Sascha und Julia <img src='http://blog.aditu.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) eine kleine Fototour durch das nächtliche München gemacht. Es war eine ganz interessante Fotosession, wo wir zur ungewöhnlichen Zeit zwischen 3 Uhr bis 8 Uhr unterwegs waren und München beim Schlafen und Aufwachen zugesehen haben. Entstanden ist daraus eine kleine Fotoserie, die ich nun, wenn auch mit etwas Verspätung hier vorstellen will. Natürlich freue ich mich über Feedback.</p>
<p><a title="munich 3 to 8" href="http://public.aditu.de/munich3to8/"><img class="alignnone size-full wp-image-391" title="munich3to8" src="http://blog.aditu.de/wp-content/uploads/2010/02/munich3to8.png" alt="" width="518" height="270" /></a></p>
<p>zur Fotoserie: <a title="munich 3 to 8" href="http://public.aditu.de/munich3to8/">munich 3 to 8</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aditu.de/2010/02/23/munich-3-to-8/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>phphatesme.de in neuem Gewand</title>
		<link>http://blog.aditu.de/2010/02/22/phphatesme-de-in-neuem-gewand/</link>
		<comments>http://blog.aditu.de/2010/02/22/phphatesme-de-in-neuem-gewand/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 19:07:03 +0000</pubDate>
		<dc:creator>Tobi</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webentwicklung]]></category>

		<guid isPermaLink="false">http://blog.aditu.de/?p=386</guid>
		<description><![CDATA[Heute feiert der populäre phphatesme Blog seinen 500. Beitrag und präsentiert sich im Zuge des Jubiläums in einem neuen Design. Mir gefällt das neue Layout sehr gut, es ist schlicht und übersichtlich. Natürlich gibt es auch ein Gewinnspiel mit interessanten Bücher, Eintrittskarten und Zeitungsabos als Preise.
Wer meinen Blog liest, kennt phphatesme bereits von meinem Gastbeitrag [...]]]></description>
			<content:encoded><![CDATA[<p>Heute feiert der populäre <a title="phphatesme" href="http://www.phphatesme.com">phphatesme Blog</a> seinen 500. Beitrag und präsentiert sich im Zuge des Jubiläums in einem neuen Design. Mir gefällt das neue Layout sehr gut, es ist schlicht und übersichtlich. Natürlich gibt es auch ein Gewinnspiel mit interessanten Bücher, Eintrittskarten und Zeitungsabos als Preise.</p>
<p>Wer meinen Blog liest, kennt phphatesme bereits von meinem <a title="Gastbeitrag rsslounge auf phphatesme" href="http://blog.aditu.de/2010/01/19/gastbeitrag-auf-phphatesme/">Gastbeitrag über rsslounge</a>. Jedem anderen empfehle ich einen Blick auf den Blog zu werfen, der täglich interessante Themen aus der Softwareentwicklung mit PHP aufgreift.</p>
<p><a title="phphatesme Gewinnspiel" href="http://www.phphatesme.com/blog/allgemein/das-gewinnspiel-geht-los/"><img class="alignnone size-full wp-image-387" title="phphatesme" src="http://blog.aditu.de/wp-content/uploads/2010/02/phphatesme.png" alt="" width="518" height="310" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aditu.de/2010/02/22/phphatesme-de-in-neuem-gewand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery simple carousel</title>
		<link>http://blog.aditu.de/2010/02/10/jquery-simple-carousel/</link>
		<comments>http://blog.aditu.de/2010/02/10/jquery-simple-carousel/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 19:05:13 +0000</pubDate>
		<dc:creator>Tobi</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://blog.aditu.de/?p=369</guid>
		<description><![CDATA[Eine einfache und ansprechende Möglichkeit mehrere Informationen auf Webseiten zu präsentieren, bietet ein &#8220;carousel&#8221; Effekt. Besonders wenn eine Liste von Eigenschaften veranschaulicht, Screenshots oder Features oder Fotografien präsentiert werden sollen, bietet es sich an, die einzelnen Bilder nacheinander einzuschieben und wieder verschwinden zu lassen (Beispiel: rsslounge). Neben einer sehr guten Nutzung des zur Verfügung stehenden [...]]]></description>
			<content:encoded><![CDATA[<p>Eine einfache und ansprechende Möglichkeit mehrere Informationen auf Webseiten zu präsentieren, bietet ein &#8220;carousel&#8221; Effekt. Besonders wenn eine Liste von Eigenschaften veranschaulicht, Screenshots oder Features oder Fotografien präsentiert werden sollen, bietet es sich an, die einzelnen Bilder nacheinander einzuschieben und wieder verschwinden zu lassen (Beispiel: <a title="rsslounge slider demo" href="http://rsslounge.aditu.de">rsslounge</a>). Neben einer sehr guten Nutzung des zur Verfügung stehenden Platzes, fällt durch die Bewegung die Information auf und lenkt die Aufmerksamkeit auf wichtige Kernbotschaften.</p>
<p>Slide Effekte und Carousel Skripte gibt es im Internet viele, überzeugen konnte mich keines. Meistens sind sie zu umfangreich oder es ist spezielles CSS notwendig, das dann unüberschaubar eingebunden bzw. die eigene Struktur daran angepasst werden muss. Nachdem jQuery sehr komfortabel ist und ich die meisten meiner Projekte auf jQuery aufbauen, habe ich mich entschlossen selbst ein einfaches jQuery Plugin zu schreiben. Dieses kommt ohne spezielles CSS aus und ist mit 1,8 kB auch schön kompakt.</p>
<p>Das Skript erwartet folgende HTML Struktur:</p>
<pre class="brush: xml;">
&lt;ul id=&quot;carousel&quot;&gt;
 &lt;li&gt;erster Frame (z.B. ein Bild)&lt;/li&gt;
 &lt;li&gt;zweiter Frame (z.B. ein Bild)&lt;/li&gt;
 &lt;li&gt;dritter Frame (z.B. ein Bild)&lt;/li&gt;
 &lt;li&gt;vierter Frame (z.B. ein Bild)&lt;/li&gt;
 ...
&lt;/ul&gt;
</pre>
<p>Um nun aus der Liste ein carousel zu machen, reicht beispielsweise folgender Aufruf aus:</p>
<pre class="brush: jscript;">
$(&quot;#carousel&quot;).simplecarousel({
 slidespeed: 700,
 auto: 5000,
 width: 480,
 height: 280
});
</pre>
<p>In obigen Fall ist das carousel 480&#215;280 Pixel groß, wechselt automatisch alle 5 Sekunden zum nächsten Frame und der Wechsel (Geschwindigkeit des slide Effektes) dauert 0,7 Sekunden.</p>
<h2>Es werden folgende Parameter unterstützt:</h2>
<ul>
<li><strong>width</strong>: (int) Breite</li>
<li><strong>height</strong>: (int) Höhe</li>
<li><strong>next</strong>: (jQuery Objekt/Selector) wird auf dieses Objekt geklickt, wird der nächste Frame aufgerufen</li>
<li><strong>prev</strong>: (jQuery Objekt/Selector) wird auf dieses Objekt geklickt, wird der vorhergehende Frame aufgerufen</li>
<li><strong>vertical</strong>: (boolean) <em>true </em>= vertikales carousel; <em>false </em>= horizontales carousel</li>
<li><strong>auto</strong>: (int/boolean) <em>false </em>= kein automatischer Wechsel; <em>Wert in Millisekunden</em> = pause bis automatisch zum nächsten Frame gewechselt wird</li>
<li><strong>slidespeed</strong>: (int) Geschwindigkeit des Wechsels in Millisekunden</li>
</ul>
<h2>Demo:</h2>
<ul>
<li><a title="rsslounge" href="http://rsslounge.aditu.de">rsslounge</a></li>
<li><a title="aditu.de" href="http://www.aditu.de">www.aditu.de</a></li>
</ul>
<h2>Download:</h2>
<ul>
<li>komprimiert: <a href="http://blog.aditu.de/wp-content/uploads/2010/02/simple.carousel.0.1.min_.js">simple.carousel.0.1.min</a></li>
<li>unkomprimiert: <a href="http://blog.aditu.de/wp-content/uploads/2010/02/simple.carousel.0.1.js">simple.carousel.0.1</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.aditu.de/2010/02/10/jquery-simple-carousel/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Neues Design für meine Homepage&#8230;</title>
		<link>http://blog.aditu.de/2010/02/06/neues-design-fur-meine-homepage/</link>
		<comments>http://blog.aditu.de/2010/02/06/neues-design-fur-meine-homepage/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 12:26:50 +0000</pubDate>
		<dc:creator>Tobi</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[aditu.de]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://blog.aditu.de/?p=364</guid>
		<description><![CDATA[Nach meinem Blog ist jetzt meine Homepage dran und hat eine Rundumerneuerung bekommen. Sie ist nun auch viel schlichter geworden und soll schnell und unkompliziert einen Überblick über meine Fotografie und meinen Aktivitäten im Netz geben. Feedback ist willkommen und ich bin gespannt ob die Seite gefällt.

]]></description>
			<content:encoded><![CDATA[<p>Nach meinem Blog ist jetzt meine <a title="Webseite Tobias Zeising" href="http://www.aditu.de">Homepage</a> dran und hat eine Rundumerneuerung bekommen. Sie ist nun auch viel schlichter geworden und soll schnell und unkompliziert einen Überblick über meine Fotografie und meinen Aktivitäten im Netz geben. Feedback ist willkommen und ich bin gespannt ob die Seite gefällt.</p>
<p><a title="Webseite Tobias Zeising" href="http://www.aditu.de"><img class="alignnone size-full wp-image-365" title="Screenshot www.aditu.de" src="http://blog.aditu.de/wp-content/uploads/2010/02/screenshot-aditu.de_.png" alt="Screenshot www.aditu.de" width="518" height="288" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aditu.de/2010/02/06/neues-design-fur-meine-homepage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Klassen laden mit Zend_Loader_Autoloader_Resource</title>
		<link>http://blog.aditu.de/2010/02/03/klassen-laden-mit-zend_loader_autoloader_resource/</link>
		<comments>http://blog.aditu.de/2010/02/03/klassen-laden-mit-zend_loader_autoloader_resource/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 10:00:59 +0000</pubDate>
		<dc:creator>Tobi</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Autoloader]]></category>

		<guid isPermaLink="false">http://blog.aditu.de/?p=318</guid>
		<description><![CDATA[Jede sauber programmierte PHP Applikation macht es notwendig, dass Klassen dynamisch  nachgeladen werden müssen. Dazu bietet PHP die __autoload() Funktion. Diese wird im Zend Framework natürlich in einem Objekt gekapselt. Nachdem ich den einfachen Weg immer vorziehe, nutze ich natürlich diesen gewöhnlichen Autoloader Mechanismus durch die Klasse Zend_Loader_Autoloader:

$autoloader =  Zend_Loader_Autoloader::getInstance();
$autoloader-&#62;registerNamespace('application_');

Wird die Zend_Application Klasse verwendet, [...]]]></description>
			<content:encoded><![CDATA[<p>Jede sauber programmierte PHP Applikation macht es notwendig, dass Klassen dynamisch  nachgeladen werden müssen. Dazu bietet PHP die <a title="PHP Manual Autoload" href="http://php.net/manual/de/language.oop5.autoload.php">__autoload()</a> Funktion. Diese wird im Zend Framework natürlich in einem Objekt gekapselt. Nachdem ich den einfachen Weg immer vorziehe, nutze ich natürlich diesen gewöhnlichen Autoloader Mechanismus durch die Klasse Zend_Loader_Autoloader:</p>
<pre class="brush: php;">
$autoloader =  Zend_Loader_Autoloader::getInstance();
$autoloader-&gt;registerNamespace('application_');
</pre>
<p>Wird die Zend_Application Klasse verwendet, so wird der Autoloader automatisch aktiviert (die Namespace&#8217;s müssen dabei in der Konfiguration gesetzt werden). Verwende ich dann eine Klasse, so wird der Name entsprechend aufgelöst, d.h. zu obigen Beispiel wird bei der Verwendung der Klasse &#8220;application_models_items&#8221; die Datei &#8220;application/models/items.php&#8221; eingebunden. Das Problem bei dieser Lösung: hat man ein sehr großes Projekt mit einer tiefen Hierachie, dann wächst der Klassenname entsprechend stark an. Bei meinem RSS Reader rsslounge hab ich das beispielsweise in Kauf genommen, da die Struktur nicht komplex ist. Zudem sieht man am Namen schon sofort, wo die Datei abgelegt ist und welche Funktion die Klasse übernimmt (application_models_items ist ein Model, dass sieht man sofort).</p>
<p>Seit der Version 1.8 bietet das Zend Framework einen eleganten Weg  Klassen automatisch zu laden, dabei aber genau zu spezifizieren, wo die Klassen gesucht werden sollen. Dazu wird ein Namespace definiert und für verschiedene &#8220;Unter-Namespace&#8221; Pfade angegeben. Ein Beispiel veranschaulicht das Vorgehen:</p>
<pre class="brush: php;">
$resourceLoader = new Zend_Loader_Autoloader_Resource(array(
 'basePath'  =&gt; APPLICATION_PATH . '/../einordner',
 'namespace' =&gt; 'Myproject',
 ));
 $resourceLoader-&gt;addResourceType('models', 'models', 'Model');
 $var = new Myproject_Model_Xyz();
</pre>
<p>Zuerst wird die Klasse Zend_Loader_Autoloader_Resource instanziiert. Dabei wird ein Namespace angegeben (im Beispiel &#8220;Myproject&#8221;) und definiert, in welchem Ordner die zugehörigen Dateien zu finden sind. In einem zweiten Schritt wird dann mit addResourceType ein &#8220;Unter-Namespace&#8221; definiert und angegeben in welchem Unterverzeichnis die Klassen liegen. Der Aufbau von addResourceType ist wie folgt:</p>
<pre class="brush: php;">
 $resourceLoader-&gt;addResourceType($name, $ordner, $namespace);
</pre>
<p>Damit ist der Autoloader für alle Klassen mit dem Präfix &#8220;Myproject_Model_&#8221; aktiv. Im Beispiel wird eine Klasse Xyz geladen. Dabei wird für die Klasse &#8220;Myproject_Model_Xyz&#8221; die Datei &#8220;APPLICATION_PATH . /&#8217;../einordner/models/xyz.php&#8221; eingebunden. Es können beliebig viele &#8220;Unter-Namespace&#8221; definiert werden, was für eigene Klassen wie Models, Forms oder Validatoren sinnvoll ist.</p>
<p>Weitere Informationen und Beispiele sind im <a title="Zend Manual" href="http://framework.zend.com/manual/de/zend.loader.autoloader-resource.html">Manual</a> zu finden. Keith Pope beschreibt anhand eines Beispiels sehr schön, wie er Zend_Loader_Autoloader_Resource in seinem Projekt verwendet (siehe &#8220;Seite 129ff, Zend Framework 1.8 &#8211; Web Application Development&#8221; von Keith Pope).</p>
<p>Dieser Weg Klassen automatisch zu laden gefällt mir ganz gut, weil er einfach ist und keine spezielle Loader Klasse nötig ist (die z.B. mittels einer statischen Funktion eine Klasseninstanz liefert). Natürlich offenbaren die Namespaces, welche mit PHP 5.3 eingeführt wurden neue Möglichkeiten, die ich mir auch noch genauer ansehen möchte. Oder gibt es eine noch schönere und elegantere Lösung? Dann bitte unbedingt kommentieren!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aditu.de/2010/02/03/klassen-laden-mit-zend_loader_autoloader_resource/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neue Version von rsslounge</title>
		<link>http://blog.aditu.de/2010/02/02/neue-version-von-rsslounge/</link>
		<comments>http://blog.aditu.de/2010/02/02/neue-version-von-rsslounge/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 16:59:24 +0000</pubDate>
		<dc:creator>Tobi</dc:creator>
				<category><![CDATA[rsslounge]]></category>

		<guid isPermaLink="false">http://blog.aditu.de/?p=328</guid>
		<description><![CDATA[Seit wenigen Minuten ist die neueste Version 1.3 von meinem kostenlosen, webbasierten RSS Reader rsslounge verfügbar.

Es wurden wieder einige Fehler beseitigt, aber auch neue Features sind auf der Liste der Neuerungen. So gibt es nun Tastenkürzel, mit denen z.B. durch die Einträge navigiert oder Einträge als gelesen markiert werden können. Bei der Wahl der Tastenkürzel [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Seit wenigen Minuten ist die neueste Version 1.3 von meinem kostenlosen, webbasierten RSS Reader <a title="rsslounge" href="http://rsslounge.aditu.de/">rsslounge</a> verfügbar.</p>
<p><a href="http://rsslounge.aditu.de"><img src="wp-content/uploads/2009/12/27/screenshot_1.png" style="margin:0" alt="rsslounge" /></a></p>
<p>Es wurden wieder einige Fehler beseitigt, aber auch neue Features sind auf der Liste der Neuerungen. So gibt es nun Tastenkürzel, mit denen z.B. durch die Einträge navigiert oder Einträge als gelesen markiert werden können. Bei der Wahl der Tastenkürzel habe ich mich am Google Reader orientiert, um es so Umsteiger leichter zu machen. Eine Liste mit allen Tastenkürzel ist <a title="Tastenkürzel von rsslounge" href="http://code.google.com/p/rsslounge/wiki/Shortcuts">hier im Wiki</a> zu finden.</p>
<p>Zudem gibt es zwei neue Einstellungen, mit denen festgelegt werden kann, ob Links in einem neuem Fenster geöffnet werden sollen und ob beim Öffnen externer Links ein Anonymisierungsdienst (z.B. anonym.to) verwendet werden soll.</p>
<p>Das vollständige <a title="Changelog" href="http://code.google.com/p/rsslounge/wiki/Changelog">Changelog</a> könnt ihr ebenfalls im <a title="Changelog" href="http://code.google.com/p/rsslounge/wiki/Changelog">Wiki</a> finden. Zudem habe ich ein RSS Feed für neue Releases eingeführt. Erscheint eine neue Version, so wird <a title="rsslounge feed" href="http://rsslounge.aditu.de/feed">dieses Feed</a> aktualisiert.</p>
<p>Wer rsslounge schon installiert hat und aktualisieren will, findet hier eine Anleitung wie das in wenigen Schritten funktioniert: <a title="rsslounge update" href="http://code.google.com/p/rsslounge/wiki/Update">Wiki Update</a>. Wer rsslounge noch nicht benutzt, sollte <a title="rsslounge" href="http://rsslounge.aditu.de/">mal schnell einen Blick darauf werfen</a>. Kann ich nur jedem empfehlen <img src='http://blog.aditu.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aditu.de/2010/02/02/neue-version-von-rsslounge/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Neues Design für blog.aditu.de</title>
		<link>http://blog.aditu.de/2010/02/01/neues-design-fur-blog-aditu-de/</link>
		<comments>http://blog.aditu.de/2010/02/01/neues-design-fur-blog-aditu-de/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 13:35:55 +0000</pubDate>
		<dc:creator>Tobi</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.aditu.de/?p=312</guid>
		<description><![CDATA[Lange ist es her, dass ich etwas an meinem Blog verändert habe. Nun habe ich mich entschlossen meinen Blog von einem selbst entwickelten System auf Wordpress umzustellen. Wenn auch das Backend ordentlich und ausbaufähig war, fehlt mir die Zeit den Blog zu erweitern und mit nützlichen Funktionen anzureichern. Hier macht es einen Wordpress und die [...]]]></description>
			<content:encoded><![CDATA[<p>Lange ist es her, dass ich etwas an meinem Blog verändert habe. Nun habe ich mich entschlossen meinen Blog von einem selbst entwickelten System auf Wordpress umzustellen. Wenn auch das Backend ordentlich und ausbaufähig war, fehlt mir die Zeit den Blog zu erweitern und mit nützlichen Funktionen anzureichern. Hier macht es einen Wordpress und die große Auswahl an Plugins sehr einfach. Ich bin mir auch noch nicht sicher, was ich von dem Backend von Wordpress halten soll. Doch die Vorteile überwiegen: gut testeter Code, komfortables Backend, leicht anzupassen, viele Plugins usw.</p>
<p>Natürlich bin ich mir im Design treu geblieben und habe den Grünton, der meine Webauftritte nun schon seit 10 Jahren begleitet übernommen. Es soll auch wieder schön schlicht sein und durch Einfachheit und Übersichtlichkeit bestechen. Natürlich darf auch ein stylischer Twitter Vogel (siehe ganz unten) nicht fehlen <img src='http://blog.aditu.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Wenn jemand eine Fehlfunktion findet oder mit etwas Probleme hat, dann bin ich über Feedback sehr dankbar. Gerade wenn man etwas neu einführt hackt es immer mal wieder an Details.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aditu.de/2010/02/01/neues-design-fur-blog-aditu-de/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Intrusion Detection mit PHPIDS</title>
		<link>http://blog.aditu.de/2010/01/30/intrusion-detection-mit-phpids/</link>
		<comments>http://blog.aditu.de/2010/01/30/intrusion-detection-mit-phpids/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 12:23:46 +0000</pubDate>
		<dc:creator>Tobi</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webentwicklung]]></category>

		<guid isPermaLink="false">http://localhost/aditu.de/blog2/?p=5</guid>
		<description><![CDATA[Eine große Sache bei der Entwicklung von Webapplikationen ist das Thema Sicherheit. Verfolgt man verschiedene Nachrichtendienste zum Thema Sicherheit, dann stellt man sehr schnell fest, dass zahlreiche Applikationen immer wieder kritische Sicherheitslücken aufweisen. Besonders wenn es sich um OpenSource Software handelt stellt das ein Problem dar, da ein Angreifer den Programmcode einer möglichen Opferapplikation kennt.
Ein [...]]]></description>
			<content:encoded><![CDATA[<p>Eine große Sache bei der Entwicklung von Webapplikationen ist das Thema Sicherheit. Verfolgt man verschiedene Nachrichtendienste zum Thema Sicherheit, dann stellt man sehr schnell fest, dass zahlreiche Applikationen immer wieder kritische Sicherheitslücken aufweisen. Besonders wenn es sich um OpenSource Software handelt stellt das ein Problem dar, da ein Angreifer den Programmcode einer möglichen Opferapplikation kennt.</p>
<p>Ein Blick in die Literatur offenbart einige grundlegende Bedrohungen, die immer wieder anzutreffen sind:</p>
<ul>
<li><strong>SQL Injection</strong>: fremde SQL Statements werden in die Opferapplikation eingeschleußt und von dieser ausgeführt</li>
<li><strong>Command Injection</strong>: Einschleusen (Injizieren) bösartiger Befehle zur Kompromittierung der Funktionsschicht</li>
<li><strong>Cross-Site Scripting</strong>: Einschleusen (Injizieren) von bösartigen Programmcode</li>
<li><strong>Directory Traversal</strong>: Technik um an nicht öffentliche, aber zugängliche Daten zu kommen</li>
<li><strong>Header Injection</strong>: Manipulation von dynamisch generierten Header</li>
<li><strong>Session Hijacking</strong>: Technik zur Übernahme einer fremden Session</li>
<li><strong>Session Fixation</strong>: Technik zur Session-Manipulation um Session des Angreifers zu privilegieren</li>
<li><strong>Cookie Poisoning</strong>: Manipulation von Cookies</li>
</ul>
<p>Eine sehr schöne Übersicht mit möglichen Gegenmaßnahmen zeigt hier das Buch &#8220;<em>Pro PHP Security</em>&#8221; von Chris Snyder und Michael Southwell auf (apress Verlag, ISBN: 1-59059-508-4).</p>
<h2>PHPIDS</h2>
<p><a title="PHPIDS" href="http://php-ids.org"><img src="wp-content/uploads/2010/01/25/phpids_logo.gif" alt="PHPIDS Logo" width="320" height="66" /></a></p>
<p>Vor einiger Zeit bin ich auf <a title="PHPIDS" href="http://php-ids.org/">PHPIDS</a> gestoßen, einem <a title="Wikipedia: Intrusion Detection System" href="http://de.wikipedia.org/wiki/Intrusion_Detection_System">Intrusion Detection System</a> für PHP. Dabei handelt es sich um ein Skript, das mittels regulären Ausdrücken und einem generischen Ansatz (Zentrifuge-Ansatz) die übergebenen Parameter (GET, POST, COOKIE, REQUEST) überprüft und mögliche Angriffe erkennt.</p>
<p>Ein erkannter Angriff wird mit einem &#8220;Impact&#8221; Wert gekennzeichnet, der angibt, wie schwerwiegend der Angriff ist. Ein Impactwert von 2-5 ist unbedenklich, wobei ein Impact 15 schon sehr hoch ist und eine Reaktion erfordert. Ein sehr hoher Wert (25-50) macht eine Reaktion unbedingt erforderlich. Dabei kommt PHPIDS auch mit exotischen Zeichensätze (UTF-7), JavaScript Unicode, dezimal und hexcode usw. zurecht und erkennt alle gängigen Angriffsmuster wie SQL Injection, Cross-Site Scripting Attacken oder Directory Traversal Zugriffe.</p>
<p>PHPIDS steht unter LGPL und kann unter <a title="PHPIDS" href="http://php-ids.org">http://php-ids.org</a> frei heruntergeladen werden.</p>
<h2>Arbeitsweise</h2>
<p>PHPIDS besitzt eine Liste von Filterregeln. Diese definieren reguläre Ausdrücke, welche gängige Angriffmuster erkennen. Dazu wird der Angriff mit einem Tag und einem Impactwert gekennzeichnet. Greifen mehrere Filterregeln, dann werden die einzelnen Impactwerte aufkummuliert. Um neue, unbekannte Angriffe zu erkennen, wird ein Zentrifuge-Ansatz verwendet, d.h. ist ein Parameter ein String von der Mindestlänge von 40 Zeichen, dann wird dieser String durch geschickte Zeichenersetzung auf eine repräsentative, kurze Zeichenkombination reduziert. Hierbei werden:</p>
<ol>
<li>alle Wortzeichen sowie Whitespace (berücksichtigt Unicode) entfernt</li>
<li>mehrfach vorkommende Zeichen werden gestrippt</li>
<li>bestimmte Zeichengruppen durch festgelegte Zeichen ersetzt (Ziel: Anzahl unterschiedliche Zeichen gering halten)</li>
<li>unerwünschte Zeichen (z.B. Backslash aus Magic-Quotes-Funktion) entfernt</li>
</ol>
<p>Das Ergebnis ist ein String aus 4 bis 6 Zeichen. Cross Site oder Code Injection Angriffe führen dabei erstaunlicherweise immer wieder auf ein ähnliches Muster. Taucht ein solches Muster (z.B. &#8220;((+::&#8221;) auf, so schlägt PHPIDS Alarm.</p>
<h2>Installation</h2>
<p>Die Installation ist denkbar einfach. In der zentralen Bootstrap Datei einer Applikation werden die PHPIDS Klassen geladen, alle Parameter als Array übergeben und das Ergebnis ausgewertet. Die Reaktion kann selbst ausgestalltet werden und kann von einfachen Logging (PHPIDS bringt hier bereits eine Hilfsklasse mit) bis hin zum Sperren der IP Adresse reichen.</p>
<p>Einbinden und Starten von PHPIDS:</p>
<pre class="brush: php;">
$request = array(
'REQUEST' =&gt; $_REQUEST,
'GET' =&gt; $_GET,
'POST' =&gt; $_POST,
'COOKIE' =&gt; $_COOKIE
);

require_once 'IDS/Init.php';
$init = IDS_Init::init('/IDS/Config/Config.ini.php');
$ids = new IDS_Monitor($request, $init);
$result = $ids-&gt;run();

// Angriff erkannt? Loggen und Abbruch
if (!$result-&gt;isEmpty()) {
	require_once 'IDS/Log/File.php';
	require_once 'IDS/Log/Composite.php';

	$compositeLog = new IDS_Log_Composite();
	$compositeLog-&gt;addLogger(IDS_Log_File::getInstance($init));
	$compositeLog-&gt;execute($result);

	die(&quot;ids error &quot;.$result-&gt;getImpact());
}
</pre>
<p>Hat die eigene Applikation keine Bootstrap Datei, so kann mit Hilfe der PHP Option &#8220;auto_prepend_file&#8221; eine Datei angegeben werden, die immer vor der eigentlichen PHP Datei geparst wird. Diese kann unter Apache auch in der .htaccess gesetzt werden:</p>
<pre class="brush: php;">
php_value auto_prepend_file phpids.php
</pre>
<p>phpids.php muss dann den oben stehenden Programmcode enthalten und PHPIDS ausführen.</p>
<p>Hat man beispielsweise einen Blog, wo tatsächlich HTML eingegeben und übertragen wird (z.B. in der Administrationsoberfläche beim Erstellen neuer Blogeinträge), so muss das PHPIDS hier bescheid wissen, da es sonst Alarm schlägt. Hierzu können in der Konfiguration Parameter festgelegt werden, die HTML enthalten dürfen. Ebenso schlägt PHPIDS bei der Verwendung von Google Analytics Alarm. Dieses ist zwar schon vorkonfiguriert, ich musste es aber immer nochmal für REQUEST und COOKIE konfigurieren:</p>
<pre class="brush: php;">
exceptions[]    = REQUEST.__utmz
exceptions[]    = REQUEST.__utmc
exceptions[]    = COOKIE.__utmz
exceptions[]    = COOKIE.__utmc
</pre>
<h2>Performance</h2>
<p>Natürlich hat PHPIDS auch eine Auswirkung auf die Performance der Applikation. Hier haben die Entwickler verschiedene Szenarien getestet und es hat sich gezeigt, dass PHPIDS lediglich 0,5 % der gesamten Rechenzeit benötigt, wenn z.B. von einer CakePHP Applikation ausgegangen wird. Selbst wenn man davon ausgeht, dass die Zahlen geschönt sind, ergibt sich aus meiner Sicht hier trotzdem kein Problem. Nimmt man beispielsweise einen privaten Weblog, der auf Wordpress basiert, dann dürften sich hier die Besucherzahlen in Grenzen halten und das IDS nicht ins Gewicht fallen.</p>
<p>PHPIDS berücksichtigt das Performanceproblem bereits und verzichtet darauf z.B. den Zentrifuge-Ansatz auf kurze Strings anzuwenden. Zudem beschränkt es sich auf Strings: Integer Werte werden beispielsweise nicht geprüft. Wer trotzdem noch optimieren will, dem bietet PHPIDS ein Caching Mechanismus, so dass die Liste mit den Filterregeln nicht jedes mal neu geparst werden muss. Zudem liegen die Filterlisten nicht nur als XML Datei vor, sondern auch im JSON Format, welches bedeutend schneller geparst wird.</p>
<h2>Literatur und Links</h2>
<ul>
<li>c&#8217;t magazin 2009 Heft 10: Alarmanlage – Angriffe auf Webanwendungen mit PHPIDS erkennen, Christian Matthies, 27.04.2009</li>
<li>PHPIDS Webseite: <a title="PHPIDS" href="http://php-ids.org/">http://php-ids.org/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.aditu.de/2010/01/30/intrusion-detection-mit-phpids/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gastbeitrag auf phphatesme</title>
		<link>http://blog.aditu.de/2010/01/19/gastbeitrag-auf-phphatesme/</link>
		<comments>http://blog.aditu.de/2010/01/19/gastbeitrag-auf-phphatesme/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 10:38:27 +0000</pubDate>
		<dc:creator>Tobi</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[rsslounge]]></category>
		<category><![CDATA[phphatesme]]></category>

		<guid isPermaLink="false">http://localhost/aditu.de/blog2/?p=273</guid>
		<description><![CDATA[Heute ist mein Gastbeitrag auf php hates me erschienen. An der Stelle vielen Dank an Nils, dass er mir Gelegenheit gibt rsslounge vorzustellen. Und jetzt schnell zum Beitrag:

]]></description>
			<content:encoded><![CDATA[<p>Heute ist <a href="http://www.phphatesme.com/blog/ein-herz-fur-blogger/rsslounge-von-tobias-zeising/" title="rsslounge von tobias zeising auf phphatesme">mein Gastbeitrag</a> auf <a href="http://www.phphatesme.com" title="php hates me">php hates me</a> erschienen. An der Stelle vielen Dank an Nils, dass er mir Gelegenheit gibt rsslounge vorzustellen. Und jetzt schnell zum Beitrag:</p>
<p><a href="http://www.phphatesme.com/blog/ein-herz-fur-blogger/rsslounge-von-tobias-zeising/" title="rsslounge von tobias zeising auf phphatesme"><img src="wp-content/uploads/2010/01/19/phphatesme.png" alt="rsslounge: Gastbeitrag auf phphatesme" width="518" height="304" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aditu.de/2010/01/19/gastbeitrag-auf-phphatesme/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>deviantArt Feature 2009</title>
		<link>http://blog.aditu.de/2009/12/29/deviantart-feature-2009/</link>
		<comments>http://blog.aditu.de/2009/12/29/deviantart-feature-2009/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 21:19:16 +0000</pubDate>
		<dc:creator>Tobi</dc:creator>
				<category><![CDATA[Fotografie]]></category>
		<category><![CDATA[deviantArt]]></category>
		<category><![CDATA[feature]]></category>

		<guid isPermaLink="false">http://localhost/aditu.de/blog2/?p=271</guid>
		<description><![CDATA[Jedes Jahr gibt es ein Feature zu den sch&#246;nsten Bilder von deviantArt. Hier die Highlights von 2009.
                                    &#160;   [...]]]></description>
			<content:encoded><![CDATA[<p>Jedes Jahr gibt es ein Feature zu den sch&ouml;nsten Bilder von deviantArt. Hier die Highlights von 2009.</p>
<p><a href="http://xavierjamonet.deviantart.com/art/DolomitiquE-141864961"><img src="wp-content/uploads/2009/12/29/___DolomitiquE____by_XavierJamonet.jpg" alt="" /></a> <a href="http://oprisco.deviantart.com/art/in-love-109527112"><img src="wp-content/uploads/2009/12/29/___in_love_by_oprisco.jpg" alt="" /></a><a href="http://muszka.deviantart.com/art/etude-in-f-minor-op-25-no2-139823113"> <img src="wp-content/uploads/2009/12/29/55d37c662f14e491dac9c54610bbc7d9.jpg" alt="" /></a> <a href="http://hakueizm.deviantart.com/art/prince-132062909"><img src="wp-content/uploads/2009/12/29/___prince_by_hakueizm.jpg" alt="" /></a> <a href="http://brettc.deviantart.com/art/Jasper-National-Park-117804076"><img src="wp-content/uploads/2009/12/29/3d948f04a210702d1b38cd702249f93c.jpg" alt="" /></a> <a href="http://michaelanderson.deviantart.com/art/Intimate-Grandeur-109042323"><img src="wp-content/uploads/2009/12/29/9a4ff49356d475839ed5b56a33be0f33.jpg" alt="" /></a><a href="http://angelcurls.deviantart.com/art/0001-132947637"> <img src="wp-content/uploads/2009/12/29/0502df1490e16c00c330f9bd94dba07d.jpg" alt="" /></a><a href="http://ralphhorsley.deviantart.com/art/Talisman-The-Dungeon-113557286"> <img src="wp-content/uploads/2009/12/29/Talisman___The_Dungeon_by_RalphHorsley.jpg" alt="" /></a><a href="http://charlie140588.deviantart.com/art/a-s-h-e-s-111724342"> <img src="wp-content/uploads/2009/12/29/8379a686673826263917e3fbab58e64a.jpg" alt="" /></a> <a href="http://onixa.deviantart.com/art/Loves-me-Loves-me-not-124161691"><img src="wp-content/uploads/2009/12/29/12283c5d723d1aa1cb40259325198827.jpg" alt="" /></a> <a href="http://lady-tori.deviantart.com/art/When-Love-Takes-Over-137316672"><img src="wp-content/uploads/2009/12/29/351943ff483508e70ea68dd9babf5537.jpg" alt="" /></a> <a href="http://marcsimonetti.deviantart.com/art/A-song-of-fire-and-ice-wall-132188470"><img src="wp-content/uploads/2009/12/29/A_song_of_fire_and_ice__wall_by_MarcSimonetti.jpg" alt="" /></a> <a href="http://edwheeler.deviantart.com/art/American-beauty-131293654"><img src="wp-content/uploads/2009/12/29/American_beauty_by_edwheeler.jpg" alt="" /></a> <a href="http://dav0512rt.deviantart.com/art/Art-Collector-130707105"><img src="wp-content/uploads/2009/12/29/Art_Collector_by_dav0512RT.jpg" alt="" /></a> <a href="http://nikosalpha.deviantart.com/art/b-rain-141422421"><img src="wp-content/uploads/2009/12/29/b_rain_by_nikosalpha.jpg" alt="" /></a> <a href="http://slawa.deviantart.com/art/Listen-112077866"><img src="wp-content/uploads/2009/12/29/b4ff68438901e18c76d04734e54c8c28.jpg" alt="" /></a> <a href="http://sortvind.deviantart.com/art/Life-As-It-Is-119774891"><img src="wp-content/uploads/2009/12/29/b0278b4061cf15ecc175ce75fe72dd6b.jpg" alt="" /></a><a href="http://rivan145th.deviantart.com/art/Black-Orchid-144400017"> <img src="wp-content/uploads/2009/12/29/Black_Orchid_by_Rivan145th.jpg" alt="" /></a><a href="http://sortvind.deviantart.com/art/Everloving-117672629"> <img src="wp-content/uploads/2009/12/29/cfcbfb88f69556ffa3a0baf4d2b0dd7c.jpg" alt="" /> </a><a href="http://neslihanbaz.deviantart.com/art/ENJOY-SPRING-121343465"><img src="wp-content/uploads/2009/12/29/ENJOY_SPRING_by_NeslihanBAZ.jpg" alt="" /></a><a href="http://jyoujo.deviantart.com/art/the-stars-are-falling-120752230"> <img src="wp-content/uploads/2009/12/29/the_stars_are_falling_by_jyoujo.jpg" alt="" /></a><a href="http://crackbag.deviantart.com/art/The-bird-s-nest-141224925"> <img src="wp-content/uploads/2009/12/29/The_bird__s_nest_by_CrackBag.jpg" alt="" /></a> <a href="http://soulofautumn87.deviantart.com/art/Fairy-Tale-121736350"><img src="wp-content/uploads/2009/12/29/Fairy_Tale_by_soulofautumn87.jpg" alt="" /></a><a href="http://scarabuss.deviantart.com/art/s-xx-19-137026306"> <img src="wp-content/uploads/2009/12/29/s_xx_19_by_scarabuss.jpg" alt="" /></a> <a href="http://alsebka.deviantart.com/art/fisheye-109056078"><img src="wp-content/uploads/2009/12/29/fisheye_by_alsebka.jpg" alt="" /></a> <a href="http://zerocomplex.deviantart.com/art/Flat-420-130849824"><img src="wp-content/uploads/2009/12/29/Flat_420_by_zerocomplex.jpg" alt="" /></a> <a href="http://janaschi.deviantart.com/art/Toph-For-Gossymer-132248493"><img src="wp-content/uploads/2009/12/29/For_Gossymer_by_janaschi.jpg" alt="" /></a><a href="http://eminaema.deviantart.com/art/girl-in-woods-130533197"> <img src="wp-content/uploads/2009/12/29/girl_in_woods_by_eminaema.jpg" alt="" /></a><a href="http://oprisco.deviantart.com/art/unbelievable-122558113"> <img src="wp-content/uploads/2009/12/29/unbelievable__by_oprisco.jpg" alt="" /></a> <a href="http://alltelleringet.deviantart.com/art/vertical-turn-129867264"><img src="wp-content/uploads/2009/12/29/vertical_turn_by_alltelleringet.jpg" alt="" /></a><a href="http://postfromhell.deviantart.com/art/the-water-is-too-hottt-116515968"><img src="wp-content/uploads/2009/12/29/the_water_is_too_hottt_by_postfromhell.jpg" alt="" /></a><a href="http://lunariya.deviantart.com/art/Nikki-125015598"><img src="wp-content/uploads/2009/12/29/Nikki_by_lunariya.jpg" alt="" /></a> <a href="http://ineedchemicalx.deviantart.com/art/Notion-147372812"><img src="wp-content/uploads/2009/12/29/Notion_by_iNeedChemicalX.jpg" alt="" /></a><a href="http://bluvertical.deviantart.com/art/N-3-110343864"><img src="wp-content/uploads/2009/12/29/N__3_by_Bluvertical.jpg" alt="" /></a><a href="http://fhrankee.deviantart.com/art/Im-going-to-tell-you-a-secret-130219321"><img src="wp-content/uploads/2009/12/29/Im_going_to_tell_you_a_secret_by_fhrankee.jpg" alt="" /></a><a href="http://vincentfavre.deviantart.com/art/Reflexion-at-Allos-142199185"> <img src="wp-content/uploads/2009/12/29/Reflexion_at_Allos____by_vincentfavre.jpg" alt="" /></a> <a href="http://firedudewraith.deviantart.com/art/Gong-Xi-Fa-Cai-110440313"><img src="wp-content/uploads/2009/12/29/Gong_Xi_Fa_Cai_by_firedudewraith.jpg" alt="" /></a> <a href="http://micmojo.deviantart.com/art/forget-the-flowers-II-117561819"><img src="wp-content/uploads/2009/12/29/forget_the_flowers_II_by_micmojo.jpg" alt="" /></a><a href="http://marcsimonetti.deviantart.com/art/The-Fortress-of-grey-ice-144533428"> <img src="wp-content/uploads/2009/12/29/d22f45d3533e4f3f817dd9f8781d034d.jpg" alt="" /></a><a href="http://cschoeps.deviantart.com/art/Monte-Bianco-IV-138019275"> <img src="wp-content/uploads/2009/12/29/9d948da036f4ff60ec8c054bc99e6cf3.jpg" alt="" /></a> <a href="http://rickylp.deviantart.com/art/First-Light-129291019"><img src="wp-content/uploads/2009/12/29/20ae57e1a2272c709f99214f0139428b.jpg" alt="" /></a>&nbsp; <a href="http://michaelanderson.deviantart.com/art/The-Gift-116269594"><img src="wp-content/uploads/2009/12/29/62ffec4f309bd851f9a81d7c9b332fdc.jpg" alt="" /></a> <a href="http://angelcurls.deviantart.com/art/holunderbaum-132438934"><img src="wp-content/uploads/2009/12/29/78d0602ae48f8ca1d10650a9d27a9d30.jpg" alt="" /></a> <a href="http://lukeaustin.deviantart.com/art/Dawnography-141336014"><img src="wp-content/uploads/2009/12/29/83fde88b0e7ff09b32de2ecfddf8b2c2.jpg" alt="" /></a> <a href="http://zefisheye.deviantart.com/art/Desert-Cloudburst-130589448"><img src="wp-content/uploads/2009/12/29/416c2a2d3a737181023faa07c9f55ce9.jpg" alt="" /></a> <a href="http://jjuuhhaa.deviantart.com/art/Winter-Forest-108793748"><img src="wp-content/uploads/2009/12/29/1033ef53a8cc6283ad9e2ed04814b3af.jpg" alt="" /></a> <a href="http://brettc.deviantart.com/art/One-Million-Lupines-Iceland-128336388"><img src="wp-content/uploads/2009/12/29/3187a2d8845dc7adcd2d33252de2e453.jpg" alt="" /></a> <a href="http://cschoeps.deviantart.com/art/Aiguille-Verte-112136793"><img src="wp-content/uploads/2009/12/29/3768ef8594e8f91b1a3eb376f9a4a5d3.jpg" alt="" /></a> <a href="http://alltelleringet.deviantart.com/art/Go-your-own-road-111657665"><img src="wp-content/uploads/2009/12/29/5853c18300d63c3d4ea4f356a1c59e03.jpg" alt="" /></a> <a href="http://ikate.deviantart.com/art/Paula-IV-118532923"><img src="wp-content/uploads/2009/12/29/8858e5a9555ff830bfbe2174fd4e4405.jpg" alt="" /></a> <a href="http://zancan.deviantart.com/art/Serotonin-146892663"><img src="wp-content/uploads/2009/12/29/b8713bcb79440927293cc9722b985003.jpg" alt="" /></a> <a href="http://patulkaa.deviantart.com/art/bloody-autumn-141858837"><img src="wp-content/uploads/2009/12/29/bloody_autumn_______by_Patulkaa.jpg" alt="" /></a> <a href="http://michaelanderson.deviantart.com/art/The-Crystalline-Silence-146127381"><img src="wp-content/uploads/2009/12/29/d12e4e944f439c3ce0acc6a1f463ccde.jpg" alt="" /></a>&nbsp; <a href="http://ekhoz.deviantart.com/art/Sensitive-kind-145284882"><img src="wp-content/uploads/2009/12/29/d3787a50ae7efacac43146faf99df5c0.jpg" alt="" /></a> <a href="http://autumn-ethereal.deviantart.com/art/Dangerous-shore-123674741"><img src="wp-content/uploads/2009/12/29/Dangerous_shore_by_autumn_ethereal.jpg" alt="" /></a> <a href="http://xavierjamonet.deviantart.com/art/Dark-Light-143917066"><img src="wp-content/uploads/2009/12/29/Dark_Light_by_XavierJamonet.jpg" alt="" /></a> <a href="http://nerdynotdirty.deviantart.com/art/limbs-141713791"><img src="wp-content/uploads/2009/12/29/df2705db94204f63e08d86acc8560ab5.jpg" alt="" /></a> <a href="http://larsvandegoor.deviantart.com/art/Dressed-To-Shine-113959731"><img src="wp-content/uploads/2009/12/29/Dressed_To_Shine_by_LarsVanDeGoor.jpg" alt="" /></a> <a href="http://rmbdarkmyth.deviantart.com/art/Frozen-124318321"><img src="wp-content/uploads/2009/12/29/Frozen_by_RMBDarkmyth.jpg" alt="" /></a>&nbsp; <a href="http://patulkaa.deviantart.com/art/Iceland-in-134837588"><img src="wp-content/uploads/2009/12/29/Iceland_______in_by_Patulkaa.jpg" alt="" /></a> <a href="http://lonelywolf2.deviantart.com/art/Iceland-54-141556538"><img src="wp-content/uploads/2009/12/29/Iceland_54_by_lonelywolf2.jpg" alt="" /></a> <a href="http://xavierjamonet.deviantart.com/art/Icelandic-Light-134854453"><img src="wp-content/uploads/2009/12/29/Icelandic_Light_by_XavierJamonet.jpg" alt="" /></a>&nbsp; <a href="http://autumn-ethereal.deviantart.com/art/Infinite-Purple-132800635"><img src="wp-content/uploads/2009/12/29/Infinite_Purple_by_autumn_ethereal.jpg" alt="" /></a> <a href="http://vincentfavre.deviantart.com/art/La-Verte-142019198"><img src="wp-content/uploads/2009/12/29/La_Verte____by_vincentfavre.jpg" alt="" /></a> <a href="http://xavierjamonet.deviantart.com/art/Last-colors-143391485"><img src="wp-content/uploads/2009/12/29/Last_colors_by_XavierJamonet.jpg" alt="" /></a> <a href="http://xavierjamonet.deviantart.com/art/Living-Earth-140367860"><img src="wp-content/uploads/2009/12/29/Living_Earth_by_XavierJamonet.jpg" alt="" /></a> <a href="http://dcwj.deviantart.com/art/Morrigan-cropped-108341427"><img src="wp-content/uploads/2009/12/29/Morrigan_cropped_by_dcwj.jpg" alt="" /></a> <a href="http://patulkaa.deviantart.com/art/Pati-ID-141762453"><img src="wp-content/uploads/2009/12/29/Pati_ID_______by_Patulkaa.jpg" alt="" /></a> <a href="http://autumn-ethereal.deviantart.com/art/Staggering-Moss-137388042"><img src="wp-content/uploads/2009/12/29/Staggering_Moss_by_autumn_ethereal.jpg" alt="" /></a> <a href="http://xavierjamonet.deviantart.com/art/Stones-garden-140368256"><img src="wp-content/uploads/2009/12/29/Stones_garden_by_XavierJamonet.jpg" alt="" /></a> <a href="http://deviantwear.deviantart.com/art/Sweet-Balance-of-Vinyl-Poster-119403555"><img src="wp-content/uploads/2009/12/29/Sweet_Balance_of_Vinyl_Poster_by_deviantWEAR.jpg" alt="" /></a>&nbsp; <a href="http://tatiannna.deviantart.com/art/Temptation-144743958"><img src="wp-content/uploads/2009/12/29/Temptation_by_Tatiannna.jpg" alt="" /></a> <a href="http://angelreich.deviantart.com/art/The-Evil-Ent-132468875"><img src="wp-content/uploads/2009/12/29/The_Evil_Ent_by_angelreich.jpg" alt="" /></a> <a href="http://scotto.deviantart.com/art/Winter-Haweswater-113004064"><img src="wp-content/uploads/2009/12/29/Winter_Haweswater_by_scotto.jpg" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aditu.de/2009/12/29/deviantart-feature-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
