<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Just another tech blog ... &#187; Howto</title>
	<atom:link href="http://hexor2k.wordpress.com/tag/howto/feed/" rel="self" type="application/rss+xml" />
	<link>http://hexor2k.wordpress.com</link>
	<description>... about (mobile) Linux and Java</description>
	<lastBuildDate>Thu, 31 Dec 2009 11:15:03 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='hexor2k.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/3350773e6f25e0db7b7f27bdf342b466?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Just another tech blog ... &#187; Howto</title>
		<link>http://hexor2k.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://hexor2k.wordpress.com/osd.xml" title="Just another tech blog &#8230;" />
		<item>
		<title>Declarative Services in Fragment Bundles</title>
		<link>http://hexor2k.wordpress.com/2008/09/30/declarative-services-in-fragment-bundles/</link>
		<comments>http://hexor2k.wordpress.com/2008/09/30/declarative-services-in-fragment-bundles/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 17:52:46 +0000</pubDate>
		<dc:creator>hexor2k</dc:creator>
				<category><![CDATA[Howtos]]></category>
		<category><![CDATA[Declarative Services]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Equinox]]></category>
		<category><![CDATA[Fragment Bundle]]></category>
		<category><![CDATA[Howto]]></category>

		<guid isPermaLink="false">http://hexor2k.wordpress.com/?p=196</guid>
		<description><![CDATA[Hier noch eine kleine Info-Sammlung über Declarative Services (DS) in Fragment Bundles (FB). Alle folgenden Infos beziehen sich auf Eclipse Equinox.


Grundsätzlich gilt: es funktioniert. Allerdings unterliegen DS in FB einigen Besonderheiten:

XML-Files: Die Service-Komponenten-Beschreibungen können beliebig im Host- oder Fragment-Bundle abgelegt werden. Sie können beliebige Klassen aus beiden Bundles reservieren, da ja beide zur Laufzeit zu [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=196&subd=hexor2k&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Hier noch eine kleine Info-Sammlung über Declarative Services (DS) in Fragment Bundles (FB). Alle folgenden Infos beziehen sich auf Eclipse Equinox.</p>
<p style="text-align:justify;">
<p style="text-align:justify;"><span id="more-196"></span></p>
<p style="text-align:justify;">Grundsätzlich gilt: es funktioniert. Allerdings unterliegen DS in FB einigen Besonderheiten:</p>
<ul style="text-align:justify;">
<li><strong>XML-Files: </strong>Die Service-Komponenten-Beschreibungen können beliebig im Host- oder Fragment-Bundle abgelegt werden. Sie können beliebige Klassen aus beiden Bundles reservieren, da ja beide zur Laufzeit zu einem Bundle verschmolzen werden und sich den Classpath teilen.</li>
<li><strong>Manifest-Files: </strong>Jetzt die schlechte Nachricht, das Element <code>Service-Component<br />
</code> darf nur in der Manifest-File des Host-Bundles eingetragen sein, im Manifest des Fragments wird es ignoriert. Es können jedoch mehrere <code>Service-Component</code>-Elemente im Host-Manifest &#8222;auf Vorrat&#8220; eingetragen werden, wenn man sich dann an den Fehlermeldungen im Log nicht stört.</li>
<li><strong>Konflikte</strong>: Was passiert, wenn man mehrere gleichnamige XML-Files in Host- und Fragmenten liegen, diese aber unterschiedliche Service-Komponenten deklarieren?? Es steht wahrscheinlich in keiner Spezifkation, was dann geschieht, bei Eclipse Equinox passiert folgendes: Es werden zwei eigenständige Service-Komponenten erstellt und gestartet. Es findet keine Überschreibung oder Überlagerung statt. Man kann sich das so vorstellen, als lägen beide in unterschiedlichen Files im gleichen Bundle. Falls es vorkommt, dass die Service-Komponenten einen identischen Namen haben (too much copy-paste <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ),  so kollidieren sie so wie im Normalfall.</li>
</ul>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hexor2k.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hexor2k.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hexor2k.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hexor2k.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hexor2k.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hexor2k.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hexor2k.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hexor2k.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hexor2k.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hexor2k.wordpress.com/196/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=196&subd=hexor2k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hexor2k.wordpress.com/2008/09/30/declarative-services-in-fragment-bundles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da83901c46990b57efdd2759b9ec859f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=X" medium="image">
			<media:title type="html">hexor2k</media:title>
		</media:content>
	</item>
		<item>
		<title>Howto debug ANT Tasks</title>
		<link>http://hexor2k.wordpress.com/2008/09/03/howto-debug-ant-tasks/</link>
		<comments>http://hexor2k.wordpress.com/2008/09/03/howto-debug-ant-tasks/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 10:39:07 +0000</pubDate>
		<dc:creator>hexor2k</dc:creator>
				<category><![CDATA[Howtos]]></category>
		<category><![CDATA[ANT]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://hexor2k.wordpress.com/?p=174</guid>
		<description><![CDATA[Jeder, der schon einmal selbst einen ANT Task geschrieben hat, kennt das Problem:
Man kann zwar ANT Scripts debuggen (innerhalb von Eclipse), in einen Task kann man aber nicht springen. Falls der Task wegen Fehlern abbricht, sieht man meist nur eine lapidare Fehlermeldung. Eine Hilfe wäre es zwar, Debugmeldungen via sysout auszugeben, schön ist das jedoch [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=174&subd=hexor2k&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Jeder, der schon einmal selbst einen ANT Task geschrieben hat, kennt das Problem:</p>
<p style="text-align:justify;">Man kann zwar ANT Scripts debuggen (innerhalb von Eclipse), in einen Task kann man aber nicht springen. Falls der Task wegen Fehlern abbricht, sieht man meist nur eine lapidare Fehlermeldung. Eine Hilfe wäre es zwar, Debugmeldungen via sysout auszugeben, schön ist das jedoch nicht.</p>
<p style="text-align:justify;">Abhilfe schafft hier der <strong>Java Remote Debugger</strong>: Da ANT selbst eine Java-Anwendung ist, kann man diese im Debug-Modus starten. Zusätzlich meldet man diese Anwendung noch an einem Netzwerksocket als Remote Application an. Danach kann man von außen mittels einer eigenen Debugging-Instanz auf die Anwendung zugreifen und auf alle ihrer Breakpoints reagieren. Das folgende Beispiel bezieht sich auf die Eclipse IDE, mit anderen IDEs sollte es aber auch funktionieren.<br />
<span id="more-174"></span><br />
So, nun das ganze mal als Code:</p>
<pre style="text-align:justify;"><code>
echo off
set ECLIPSE_HOME=""
set WORKSPACE=""
set PROJECT=""

%ECLIPSE_HOME%\eclipsec.exe -nosplash -data %WORKSPACE%
  -application org.eclipse.ant.core.antRunner
  -buildfile %WORKSPACE%\%PROJECT%\build.xml
  -vmargs -Xdebug -Xnoagent -Djava.compiler=NONE
  -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
echo on</code></pre>
<p style="text-align:justify;">ANT wird via Batch-File als Eclipse-Headless-Application gestartet und bekommt zusätzlich die Parameter für Remote Debugging angegeben (<code>-Xrunjdwp:</code>&#8230;). Dann erstellt man in Eclipse eine neue DebugConfiguration und wählt als Typ Remote Java Application. Weitere Parameter müssen nicht verändert werden. Nach dem Start der Batchfile erscheint eine Console mit den Ausgaben der ANT-Anwendung. Wenn nun die DebugConfiguration gestartet wird, hängt diese sich an den Remote Task an. Hat man nun in einem selbst geschriebenen ANT Task einen Breakpoint, so stoppt die Anwendung genau an diesem Punkt und wechselt in die Debug-Perspektive.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hexor2k.wordpress.com/174/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hexor2k.wordpress.com/174/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hexor2k.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hexor2k.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hexor2k.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hexor2k.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hexor2k.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hexor2k.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hexor2k.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hexor2k.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hexor2k.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hexor2k.wordpress.com/174/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=174&subd=hexor2k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hexor2k.wordpress.com/2008/09/03/howto-debug-ant-tasks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da83901c46990b57efdd2759b9ec859f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=X" medium="image">
			<media:title type="html">hexor2k</media:title>
		</media:content>
	</item>
		<item>
		<title>Howto OSGI Declarative Services</title>
		<link>http://hexor2k.wordpress.com/2008/08/27/osgi-declarative-services/</link>
		<comments>http://hexor2k.wordpress.com/2008/08/27/osgi-declarative-services/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 19:29:57 +0000</pubDate>
		<dc:creator>hexor2k</dc:creator>
				<category><![CDATA[Howtos]]></category>
		<category><![CDATA[Declarative Services]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Equinox]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OSGi]]></category>

		<guid isPermaLink="false">http://hexor2k.wordpress.com/?p=140</guid>
		<description><![CDATA[Nachdem ich auf der Arbeit ständig damit hantiere, gibts jetzt ne kleine Anleitung bzw. Checkliste für Declarative Services (DS)  unter OSGI. Was sind DS? Ganz einfach: Normalerweise müsste man per Hand codieren, welche Services ein OSGI-Bundle anbietet und welche es verwendet. Dadurch entstehen einige Probleme, vor allem muss man sich selbst darum kümmern, was [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=140&subd=hexor2k&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Nachdem ich auf der Arbeit ständig damit hantiere, gibts jetzt ne kleine Anleitung bzw. Checkliste für <em>Declarative Services (DS) </em> unter <em>OSGI</em>. Was sind DS? Ganz einfach: Normalerweise müsste man per Hand codieren, welche Services ein OSGI-Bundle anbietet und welche es verwendet. Dadurch entstehen einige Probleme, vor allem muss man sich selbst darum kümmern, was passieren soll, wenn ein Service mal nicht zur Verfügung steht oder sich im Betrieb verabschiedet. Außerdem ist es für einen Außenstehenden oft schwer einzusehen, welche Services das Bundle verwendet bzw. anbietet. Die Ressourcenbelegung ist auch ein Punkt, da die Services sich sofort bei Bundle-Start registrieren und nicht erst, wenn sie benötigt werden. Hier kommen die Declarativen Services ins Spiel. Mit ihnen kann man Services per XML-Datei konfigurieren.</p>
<p style="text-align:justify;">
<p style="text-align:justify;"><span id="more-140"></span></p>
<p>Die folgende Checkliste wurde unter der Verwendung von Eclipse Equinox erstellt.</p>
<h3>Checkliste: Was wird für Declarative Services benötigt?</h3>
<ul>
<li>Die Implementierung der Deklarative Services erfolgt durch das Bundle <strong>org.eclipse.equinox.ds</strong>. Dieses Bundle muss immer mit geladen werden, bevor die DS verwendet werden können.</li>
<li>Zusätzlich wird die Klasse <strong>ComponentContext</strong> aus dem Bundle <strong>org.osgi.service.component</strong> benötigt.</li>
<li>Die eigentliche Implementierung des DS erfolgt als sog. <strong>Service Component, </strong>also einer Klasse, welche den Service (besser gesagt: das Service Interface) implementiert. Im Gegensatz zu einem Activator wird diese nicht abgeleitet oder implementiert eine Interface. Sie muss trotzdem folgende zwei Funktionen enthalten, damit die ServiceComponent funktioniert. Diese Funktionieren ähnlich wie die <em>start </em>und<em> stop </em>Methoden des Bundle-Activators.
<ul>
<li><strong>protected void activate(Component context){&#8230;}</strong></li>
<li><strong>protected void deactivate(Component context){&#8230;}<br />
</strong></li>
</ul>
</li>
<li>Eine <strong>Konfigurationsdatei</strong> in XML: Diese Datei wird üblicherweise in einem Verzeichnis namens <strong>OSGI-INF</strong> abgelegt, der Dateiname ist beliebig. Die XML-Datei selbst folgt dem <a href="http://www.osgi.org/xmlns/scr/v1.0.0/scr.xsd">hier</a> zu findenden Schema. Wichtig ist hier, dass alle Inhalte der XML-Datei, also Tags, Attribute aber Paket- und Klassennamen <strong>richtig </strong>geschrieben sind, ansonsten kann die Service Component nicht aktiviert werden.</li>
</ul>
<ul>
<li>Änderung im Manifest-File des Bundles: Füge eine neue Zeile hinzu, der Inhalt ist <strong>Service-Component: OSGI-INF/service.xml</strong> (wenn die XML-Datei service.xml heißt)</li>
</ul>
<h3>Beispiel:</h3>
<p style="text-align:justify;">Hierzu ein kleines Beispiel: Eine ServiceComponent soll erstellt werden, die einen Service mit dem Interface <strong>MyServiceInterface</strong> bereitstellt. Sie soll außerdem eine Liste von Services des Interface <strong>OtherService</strong> beinhalten. Dazu bindet sie diesen Service (der auch über eine Service Component realisiert werden muss) mit der <strong>cardinality=&#8220;1..n&#8220;</strong>, so dass mindestens ein <strong>OtherService</strong> vorhanden sein muss, um die Service Component zu aktivieren. Die einzige Funktion in <strong>MyServiceInterface</strong> gibt die Anzahl der angebundenen <strong>OtherService</strong> zurück.</p>
<h4>Service Interface:</h4>
<pre><code>package org.example.ds
import ...
public interface MyServiceInterface {
    int getCount();
}</code></pre>
<h4>Implementierungs-Klasse:</h4>
<pre><code>package org.example.ds.internal
import ...
public class MyServiceImplementation implements MyServiceInterface {

    private ComponentContext context;
    private List&lt;OtherService&gt; servicelist = new Vector&lt;OtherService&gt;(0);

    protected void activate(ComponentContext context){
        this.context = context;
    }

    protected void deactivate(ComponentContext context){
        this.context = null;
    }

    protected void bindOtherService(OtherService otherservice){
        this.servicelist.add(otherservice)
    }

    protected void unbindOtherService(OtherService otherservice){
</code><code>        this.servicelist.remove(otherservice)</code>
<code>    }

    </code><code>public int getCount(){
        return this.servicelist.size();
</code><code>    }
}
</code></pre>
<h4>Die XML-Datei im OSGI-INF Ordner:</h4>
<pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;component name="myServiceComponent"&gt;
    &lt;implementation class="org.example.ds.MyServiceImplementation"/&gt;
    &lt;service&gt;
        &lt;provide interface="org.example.ds.MyServiceInterface"/&gt;
    &lt;/service&gt;
    &lt;reference
        name="otherservice"
        interface="org.example.ds.OtherService"
        bind="bindOtherService"
        unbind="unbindOtherService"
        cardinality="1..n"
        policy="static"
    /&gt;
&lt;/component&gt;
</code></pre>
<h3>Fehlersuche:</h3>
<ul>
<li>Das Bundle startet, aber die Service Component nicht. Dies kann viele Ursachen haben:
<ul>
<li>Schreibfehler in der Manifest- oder XML-File. Am besten nochmal nachschauen, ob alle Paket- und Klassennamen stimmen.</li>
<li>Eine geforderte Referenz ist nicht verfügbar. Untersuche alle Referenzen, ob deren Service Components vollständig gestartet wurden.</li>
<li>Eintrag in der <strong>Manifest-File</strong> fehlt oder ist ungültig. Mein absoluter Lieblings-Fehler <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>Funktionen wie <strong>activate/deactivate</strong> bzw. <strong>bind/unbind</strong> fehlen oder sind ungültig.</li>
</ul>
</li>
<li><strong>NullPointerException</strong> oder andere krude Exceptions werden geworfen: Dies kann auftreten, wenn Klassenmember in der <strong>activate</strong>-Funtion belegt werden. Diese wird nämlich erst dann aufgerufen, wenn alle Referenzen erfüllt sind, also erst nach den <strong>bind</strong>-Funktionen. Wenn in <strong>bind</strong> schon auf das Member zugegriffen wird, ist es dann noch <strong>null</strong> und die NullPointerException wird geworfen.</li>
<li>Hilfe, ich sehe nicht ob sich irgendwas tut!!!
<ul>
<li>Der Status einer Service Component kann leider nicht einfach über den <strong>status</strong>-Befehl abgefragt werden, da Service Components ein relativ neues Konzept sind.</li>
<li>Eine Service Component meldet ihre Services sofort an der Service Registry an, der Befehl <strong>services</strong> gibt also keinerlei Aufschluss über den Status ser Service Component.</li>
<li>Am besten kann der Lebenszyklus über den Log-Service verfolgt werden, den Equinox mitliefert. Er kann über das Bundle <strong>org.eclipse.equinox.log</strong> angebunden werden</li>
</ul>
</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hexor2k.wordpress.com/140/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hexor2k.wordpress.com/140/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hexor2k.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hexor2k.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hexor2k.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hexor2k.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hexor2k.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hexor2k.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hexor2k.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hexor2k.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hexor2k.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hexor2k.wordpress.com/140/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=140&subd=hexor2k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hexor2k.wordpress.com/2008/08/27/osgi-declarative-services/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da83901c46990b57efdd2759b9ec859f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=X" medium="image">
			<media:title type="html">hexor2k</media:title>
		</media:content>
	</item>
	</channel>
</rss>